我创建了一个带有extjs 4的网格。选择.CheckboxModel实现为。这意味着只要您单击特定行,就会选中/取消选择该行。现在我想在最后一列上禁用此选项,因为它包含自定义按钮。 (如果单击按钮,我不想选择行。)
任何想法都是如何做到的?
非常感谢提前!
答案 0 :(得分:9)
这实际上是一个棘手的小问题,只是因为缺少Sencha文档。
CheckboxModel确实有一个从beforeselect
继承的Ext.selection.RowModel
事件。但是,没有简单的方法来获取列索引,因为坦率地说,这是RowModel的重点。
但是,Ext.view.Table
(您的网格将继承)中有一个名为beforecellmousedown
的未记录事件。这是事件参数:
所以你可能会尝试这样的事情:
viewConfig: {
listeners: {
beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts){
if(cellIdx === indexOfLastColumnInGrid){
return false;
}
}
}
}
单元格和行索引都是从零开始的。
答案 1 :(得分:1)
listeners: {
beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts) {
if (String(eOpts.getTarget()) == '[object HTMLButtonElement]') {
return false;
}
}
}
Thanx Eric。这是我的最终解决方案!
答案 2 :(得分:0)