`
wj98127
  • 浏览: 268911 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

CheckboxSelectionModel全选后,点击下一页时还原到未选中状态

    博客分类:
  • ext
阅读更多

在Grid的中使用了CheckboxSelectionModel的时候会发现,在当前页选中了全选按钮,再点击分页按钮时,在新的一页里,header上的全选按钮还是处于选择状态的,下面演示一个笨一点方法:

 

1、在store里加入监听数据变化事件

 

var ds = new Ext.data.Store({
    proxy: new Ext.data.HttpProxy({url:url,form:ff,method:'post'}),
    totalProperty:"totalCount", 
// 这里添加监听数据变化的事件,如果数据发生变休,触发清空checkbox函数
   listeners:{datachanged:clearAllSelectedCheckbox},
    reader:new Ext.data.JsonReader(
	{	root:'result',
		id:'id',
		totalProperty: 'totalCount'
	}, 
	[
		{name:"id"},
		{name:"remark"},
		{name:"domain"},
		{name:"name"}
	
						
)});

 

2、Grid的columns 和生成grid部分的代码就不在这里写了,跟正常情况下的写法一致,分页栏PagingToolbar。

3、clearAllSelectedCheckbox实现代码:

function clearAllSelectedCheckbox(){
	var hd = Ext.fly(grid.getView().innerHd).child('div.x-grid3-hd-checker');
	hd.removeClass('x-grid3-hd-checker-on');
	grid.getSelectionModel().clearSelections();
}

 

 

还可以通过重写PagingToolbar来实现。

分享到:
评论
2 楼 wj98127 2009-07-07  
没有问题,'div.x-grid3-hd-checker'是css选择器名称,
var hd = Ext.fly(grid.getView().innerHd).child('div.x-grid3-hd-checker');  
hd.removeClass('x-grid3-hd-checker-on');
这一段的意思是说通过css选择器得到多选框的Element,然后将Element的'选中'样式删掉,实际上就是一个样式变更,如果你是初学者,建议你读源码,会很有收获.
1 楼 minma_2009 2009-07-07  
貌似有问题吧。我是个新手,想请教一下:'div.x-grid3-hd-checker'代表什么意思?只能找你这样写好像还是没有用吗?

相关推荐

    Extjs全选去掉

    5. **监听事件**:你还可以通过监听`checkchange`事件来控制全选行为,当全选复选框状态改变时,阻止其默认操作。 6. **自定义模板**:如果你需要保留全选功能但希望自定义其行为,可以使用自定义列头模板,通过`...

    ExtJs grid多选时获取选中的所有值

    // 当选中行时,触发获取选中记录的函数 }); ``` #### 五、总结 本文介绍了如何在ExtJs Grid中实现多选功能以及如何获取选中的所有值。通过使用`CheckboxSelectionModel`,我们可以轻松地为Grid添加多选功能,并...

    弥补ExtJs CheckboxSelectionModel不能级联的自定义控件

    当用户点击一个复选框时,事件处理器会检查该行是否为层级结构中的父节点,并相应地改变其子节点的状态。 2. **数据绑定**:为了实现级联选择,控件需要知道每个行的数据模型中是否有表示层级关系的字段,比如`...

    Extjs 增删改查

    - 当用户选中某条记录时,可以通过工具栏中的编辑按钮或双击记录来启动编辑模式。 - 显示表单供用户修改数据,完成后调用`editUrl`进行更新。 4. **查询记录** - 初始化Grid时,通过`storeUrl`获取数据列表并...

    解析Extjs与php数据交互(增删查改)

    在`handler`方法中,我们可以监听点击事件,获取到当前选中的行和列,从而执行相应的操作。 在PHP端,我们需要创建一个接收前端请求的控制器(如`index.php`),根据HTTP请求的方法(GET、POST、PUT、DELETE)来...

    Ext常用功能开发总结

    通过`Ext.grid.plugin.CellEditing`插件,点击单元格时显示编辑器,完成数据修改后自动保存。 ### 对话框的使用 `Ext.window.Dialog`或`Ext.MessageBox`提供弹出式对话框,用于信息提示、确认操作、输入等。 ### ...

    EXT学习心得,ext

    2. **使用CheckboxSelectionModel**:这是另一种实现复选框选择的方式,通过实例化`Ext.grid.CheckboxSelectionModel`并将其添加到表格配置的`sm`属性中。这种模式支持多选,并且可以轻松地获取所有被选中的行记录。...

    asp.net coolite 删除时弹出确定按钮

    首先,我们来看一下问题的核心:在使用Coolite的`Confirm()`方法时,可能无法获取到用户所选择的具体内容。为了解决这个问题,我们可以自定义一个方法来处理确认过程。 在界面上,我们可以创建一个按钮,如以下所示...

    Grid得到选择行数据的方法总结

    //得到选择所有行 //注:如果不声明var sm = new Ext.grid.CheckboxSelectionModel();则会报此句没有该对象或属性 Var selectRows = grid.getSelectionModel().getSelections(); selectRows[0].get(“gird中某列的...

    再谈Selenium测试之精要.docx

    例如,如果需要模拟用户在输入框中输入值后按下Enter键进行搜索,可以先将焦点移动到输入框,输入值,然后模拟按下“@”键(`\40`是ASCII码表示的'@'),稍作延迟,最后使用`keyPressNative()`模拟Enter键的按下。...

    第三方控件Coolite使用教程

    为了在表格中添加CheckBox选中功能,我们需要创建一个CheckboxSelectionModel实例,并将其添加到ColumnModel中: ```javascript var sm = new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid....

    Ext2.0框架的grid使用

    3. **应用至GridPanel**:在创建GridPanel时,通过`sm`属性传入CheckBoxSelectionModel: ```javascript var grid = new Ext.grid.GridPanel({ el: 'grid3', ds: ds, cm: cm, sm: sm, // 应用...

    Extjs 性能优化 High Performance ExtJs

    例如,当用户点击“修改”按钮后未对表单做任何改动就尝试提交时,就不需要再次进行提交。 另外需要注意的是,当 `form` 与 `EditorGridPanel` 结合使用时,应当特别注意表单的状态管理,确保每次提交都是有意义的...

    ExtJS Grid使用SimpleStore、多选框的方法

    在创建CheckboxSelectionModel时,我们传入了一个配置对象,其中包含一个handleMouseDown属性,并设置为Ext.emptyFn(空函数)。这是为了在ExtJS的旧版本中避免在使用checkcolumn插件时可能出现的问题。 然后,我们...

    Ext框架的Grid使用介绍

    3. **列配置**:EXT JS的列配置允许设置列的显示方式,如模板列(TemplateColumn)可以自定义显示内容,检查列(CheckboxSelectionModel)用于复选选择,编辑列(Editing)支持单元格级别的编辑。 4. **功能扩展**...

    combobox Ext之扩展组件多选下拉框

    - `value`:多选时,值通常是一个数组,包含了所有选中项的值。 - `getValue()`和`setValue(values)`方法用于获取和设置多选值。 6. **用户交互优化**: - 可以通过`minWidth`和`maxHeight`设置下拉列表的最小...

    extjs学习 分页后台处理

    每次用户翻页,`start`值会递增`limit`的值,以获取下一页的数据。 在服务器端,你需要根据`start`和`limit`来处理数据库查询,通常使用SQL的`LIMIT`和`OFFSET`子句来限制返回的记录范围。例如,如果你的数据库支持...

    汇总Extjs中GridPanel的各个属性与方法.doc.docx

    `enableRowBody` 配置项允许包含行的详细信息,当用户点击行时会显示额外的内容。 15. **index**: 当用于 GridView 相关的方法时,`index` 表示当前行的索引,可用于获取或操作特定行的数据。 以上就是 ExtJS 中...

    Ext2.0示例讲解

    扩展到更复杂的需求,例如在表格中添加CheckBox选中功能,可以创建一个CheckboxSelectionModel并将其添加到ColumnModel中: ```javascript var sm = new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid...

    Ext TreePanel

    编辑时,`EditorGridPanel`会使用这些编辑器来控制用户的输入,并在用户完成编辑后将更改应用到原始数据。此外,确保在提交数据到服务器之前进行有效性验证是至关重要的,因为这可以防止无效或错误的数据被保存。 ...

Global site tag (gtag.js) - Google Analytics