ExtJS 4 - 网格 - 禁用特定列的行选择

use*_*146 5 checkbox grid extjs selection extjs4

我创建了一个带有extjs 4的网格.选择.CheckboxModel实现为.这意味着只要您单击特定行,就会选中/取消选择该行.现在我想在最后一列上禁用此选项,因为它包含自定义按钮.(如果单击按钮,我不想选择行).

任何想法是如何做到这一点?

提前谢谢了!

Eri*_*ric 9

这实际上是一个棘手的小问题,只是因为缺乏Sencha文档.

CheckboxModel确实有一个beforeselect继承自的事件Ext.selection.RowModel.但是,没有简单的方法来获取列索引,因为坦率地说,这是RowModel的重点.

但是,有一个未记录的事件Ext.view.Table(您的网格将继承)被调用beforecellmousedown.这是事件参数:

  1. 视图:网格视图
  2. cell:单击的单元格
  3. cellIndex:单元格的索引
  4. 记录:与单元格关联的商店记录
  5. row:单元格的行
  6. rowIndex:行的索引
  7. eOpts:标准事件选项事件

所以你可能会尝试这样的事情:

viewConfig: {
    listeners: {
        beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts){
            if(cellIdx === indexOfLastColumnInGrid){
                return false;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

单元格和行索引都是从零开始的.