用extjs grid 加载100条以上数据时,选中前面几行 checkbox, 滚动条拖到后面,前面会自动失效
用extjsgrid加载100条以上数据时,选中前面几行checkbox,滚动条拖到后面,前面会自动失效,请问如何解决,是否要修改extjs的属性,谢谢...
用extjs grid 加载100条以上数据时,选中前面几行 checkbox, 滚动条拖到后面,前面会自动失效,请问如何解决,是否要修改extjs的属性,谢谢
展开
2个回答
展开全部
你可以定义一个全局量,这个全局量可以是一个Array()。
在grid定义一个Ext.selection.CheckboxModel的listener,每当选中一行时,就给全局量赋值,可以是一个ID或者要传送的数据或者一个对象。这样就可以保证拖到后面前面的就不会自动失效了。
不过要记得当数据提交了以后,要将全局量里的数据清空,避免下次提交有重复。
具体实现大致如下:
var selectionObjs; //定义全局量
var gridSelection = Ext.create('Ext.selection.CheckboxModel', {
listeners : {
selectionchange : function(sm) {
var length = sm.getCount(); //获得选择列数
selectionObjs = sm.getSelection(); //获得所有选择的对象
}
}
});
Ext.create('Ext.grid.Panel', {
store : Store,
selModel : gridSelection
....
});
在grid定义一个Ext.selection.CheckboxModel的listener,每当选中一行时,就给全局量赋值,可以是一个ID或者要传送的数据或者一个对象。这样就可以保证拖到后面前面的就不会自动失效了。
不过要记得当数据提交了以后,要将全局量里的数据清空,避免下次提交有重复。
具体实现大致如下:
var selectionObjs; //定义全局量
var gridSelection = Ext.create('Ext.selection.CheckboxModel', {
listeners : {
selectionchange : function(sm) {
var length = sm.getCount(); //获得选择列数
selectionObjs = sm.getSelection(); //获得所有选择的对象
}
}
});
Ext.create('Ext.grid.Panel', {
store : Store,
selModel : gridSelection
....
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询