extjs Grid checkboxmodel分组和折叠问题,选中行项目复选框
我正在使用extjs Grid checkboxmodel分组和折叠问题,选中行项目复选框,extjs,extjs4.2,Extjs,Extjs4.2,我正在使用Extjs网格分组和折叠功能。 问题在于,每当任意组折叠时,在单个行中选择复选框。如果我选中/取消选中该复选框,则不是单击第行中的复选框,而是选择/取消选中其他一些复选框。可能是什么问题 下面是代码 Ext.define('extGrid', { extend: 'Ext.grid.Panel', alias: 'widget.myGrid', id: 'myGrid', autoScroll: true, height: 700, st
Extjs网格
分组和折叠
功能。
问题在于,每当任意组折叠时,在单个行中选择复选框。如果我选中/取消选中该复选框,则不是单击第行中的复选框,而是选择/取消选中其他一些复选框。可能是什么问题
下面是代码
Ext.define('extGrid', {
extend: 'Ext.grid.Panel',
alias: 'widget.myGrid',
id: 'myGrid',
autoScroll: true,
height: 700,
store: 'myStore',
preventHeader: true,
{
ftype: 'grouping',
groupHeaderTpl: [
'<input id="\'check_{[values.rows[0].data.Id]}\'" class="chkGrp" type="checkbox" > <div style="display:inline-block; min-width: 500px;" >({[values.children.length]})</div> {[Ext.Date.format(new Date(values.rows[0].data.dueDate),\'d-M-Y\')]} '
],
hideGroupedHeader: false,
startCollapsed: false,
collapsible: true
},
selType: 'checkboxmodel',
selModel: {
injectCheckbox: 0,
pruneRemoved: false,
allowDeselect: false,
checkOnly: true,
singleSelect: false,
},
listeners: {
groupclick: function(grid, field, value, e){
var t = e.getTarget('.chkGrp');
if (t) {
var checked = t.checked;
var groupingFeature = grid.up('grid').getView().features[0];
groupingFeature.expand(value);
if (checked) {
Ext.get(t.id).dom.checked = true;
} else {
Ext.get(t.id).dom.checked = false;
}
grid.getStore().each(function(rec, index){
if(rec.data.m == value){
grid.getSelectionModel().setLocked(false);
if(checked) {
grid.getSelectionModel().select(index, true);
} else {
grid.getSelectionModel().deselect(index);
}
}
});
} else {
var checkBoxArray = Ext.get(field).query('.chkGrp');
if (checkBoxArray.length > 0) {
var checkBox = checkBoxArray[0];
Ext.get(checkBox.id).dom.checked = checkBox.checked;
}
}
}
},
columns: [
{
header: 'test',
dataIndex: 'test1',
width: 200,
}, {
header: 'test2',
sortable: true,
width: 400,
dataIndex: 'test3',
},
],
collapsible: true,
columnLines: true,
plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
})]
});
Ext.define('extGrid'{
扩展:“Ext.grid.Panel”,
别名:“widget.myGrid”,
id:'myGrid',
autoScroll:是的,
身高:700,
商店:“myStore”,
对,,
{
ftype:'分组',
groupHeaderTpl:[
“({[values.childrence.length]}{[Ext.Date.format(新日期(values.rows[0].data.dueDate),\'d-M-Y\')]””
],
hideGroupedHeader:false,
startCollapsed:错误,
可折叠:正确
},
selType:'checkboxmodel',
selModel:{
复选框:0,
普拉内尔:错,
allowDeselect:false,
checkOnly:对,
singleSelect:false,
},
听众:{
groupclick:函数(网格、字段、值、e){
var t=e.getTarget('.chkGrp');
if(t){
var checked=t checked;
var groupingFeature=grid.up('grid').getView().features[0];
groupingFeature.expand(值);
如果(选中){
Ext.get(t.id).dom.checked=true;
}否则{
Ext.get(t.id).dom.checked=false;
}
grid.getStore().each(函数(rec,index){
if(rec.data.m==值){
grid.getSelectionModel().setLocked(false);
如果(选中){
grid.getSelectionModel().select(index,true);
}否则{
grid.getSelectionModel()。取消选择(索引);
}
}
});
}否则{
var checkBoxArray=Ext.get(field.query)('.chkGrp');
如果(checkBoxArray.length>0){
var checkBox=checkBoxArray[0];
Ext.get(checkBox.id).dom.checked=checkBox.checked;
}
}
}
},
栏目:[
{
标题:“测试”,
dataIndex:'test1',
宽度:200,
}, {
标题:“test2”,
可排序:是的,
宽度:400,
dataIndex:'test3',
},
],
可折叠的:是的,
专栏:没错,
插件:[Ext.create('Ext.grid.plugin.CellEditing'{
单击编辑:1
})]
});
我在下面的URL中找到了修复程序,它对我有效
与论坛网站不同,我们不会在网站上使用“谢谢”或“感谢任何帮助”或签名。顺便说一句,这是“提前感谢”,而不是“提前感谢”。