EXTJS 5:如何只有在点击网格中的复选框时才选中复选框

EXTJS 5 : How to have the checkbox selected only when clicking on checkbox in grid

本文关键字:复选框 网格 EXTJS      更新时间:2023-09-26

您能告诉我如何只在单击复选框时在网格中选择行,而不是在单击网格中的任何其他单元格时选择行吗。

我还试图使用下面的代码覆盖相同的代码,但无法达到预期的结果。。。。。

Ext.CheckboxSelectionModel = Ext.extend(Ext.selection.CheckboxModel, {
beforeselect: function (grid, record, index, eOpts) {
}
});

最后。。。在没有得到适当的调整/破解后。。我在extjs论坛上发布了同样的内容,然后将其标记为一个bug,该bug将在v5.0.2中修复。。。http://www.sencha.com/forum/showthread.php?291021-EXTJS-5-如何使用复选框-点击绿色复选框时选择复选框&p=1063513#post1063513

这是一个ExtJS 5错误

它的工作很容易

selModel : Ext.create('Ext.selection.CheckboxModel', {
    checkOnly: true,
});

但仅在ExtJS 5.0.2中其固定

证明:http://www.sencha.com/forum/showthread.php?290630

一种方法是监听cellClick事件,并检查cellIndex是否与您的复选框单元格索引匹配。如果cellClick不匹配,请使用selectionModel.deselect/deselectAll。

cellclick: function (thisRef, td, cellIndex, record, tr, rowIndex, e, eOpts){
    if (cellIndex !== 0){ //Considering index 0 is checkbox column
        thisRef.selModel.deselect(record);
    }
}