【发布时间】:2018-07-26 15:18:22
【问题描述】:
我目前正在ExtJS 中实施部分项目,这需要我修改现有网格以仅在具有特定状态(不同于 AN、NP、RS)的行上显示复选框,此状态由record.data.codiceStato 中的值:
selectionModel = Ext.create('Ext.selection.CheckboxModel', {
checkOnly: true,
listeners: {
select: function (sm, idx, rec) {
alert("Look ma!");
},
beforeSelect: function (sm, idx, rec) {
if (idx.data.codiceStato == 'RS' || idx.data.codiceStato == 'AN' || idx.data.codiceStato == 'NP')
return false;
}
},
renderer: function (value, metaData, record, rowIndex, colIndex, store, view) {
if (record.data.codiceStato != 'RS' && record.data.codiceStato != 'AN' && record.data.codiceStato != 'NP')
return '<div style="margin-left: -1px;" class="' + Ext.baseCSSPrefix + 'grid-row-checker"> </div>';
else
return '';
}
});
我在我的 beforeSelect 监听器中写了一个检查,以避免复选框选择不具有此状态的行并且它有效。现在唯一的问题是标题复选框,事实上,当我第一次单击它时,它会启用带有复选框的所有行,但是当我再次单击它时它不会取消选中它们。有什么解决办法吗?谢谢你
【问题讨论】: