问题描述
我有一个带有复选框选择模型的网格。
Ext.define('Mb.view.ship.OrdersGrid', {
extend: 'Ext.grid.Panel',
selType: 'checkboxmodel',
selModel: {
injectCheckbox: 0,
pruneRemoved: false
},
...
根据字段中的值,某些行不应该是可选的。
在普通列中,我可以用renderer
干预显示,用css(metadata.tdCls
)隐藏单元格内容,但对于自动生成的复选框列,我找不到方法来逐行禁用或隐藏复选框。
有人知道如何做到这一点吗?
推荐答案
只需使用网格的beforeselect
事件。返回FALSE,将不允许选择。选中the documentation。
Ext.define('Mb.view.ship.OrdersGrid', {
extend: 'Ext.grid.Panel',
selType: 'checkboxmodel',
selModel: {
injectCheckbox: 0,
pruneRemoved: false
},
listeners: {
beforeselect: function(grid, record, index, eOpts) {
if (record.get('yourProperty')) {//replace this with your logic.
return false;
}
}
}
..........
如果您真的想隐藏该复选框,您可以为您的网格行添加CSS类,并且可以使用它们来隐藏它们。检查this answer以获取解决方案。