问题描述
在使用CheckboxModel作为选择模型的ExtJS 4.1网格中,当您单击整行时,将选中该行(并选中相应的复选框).有没有一种方法可以防止这种默认行为发生,并且仅当单击相应行的复选框时才允许选择行(而不是单击整个行时)?
In an ExtJS 4.1 grid that uses CheckboxModel as a selection model, when you click on an entire row, that row is selected (and the corresponding checkbox is checked). Is there a way that I can prevent that default behaviour from happening and permit row selection only when the checkbox for a corresponding row is clicked (as opposed to when clicking the entire row)?
再次使用ExtJS 4.1版
Again I'm using ExtJS version 4.1
感谢您的帮助
注意:我的网格还具有 CellEditing插件附加到它.我不希望在单击单元格时激活CellEditing插件时选择该行.
Note: My grid also has the CellEditing plugin attached to it. I don't want the row to be selected when the CellEditing plugin gets activated when I click on a cell.
推荐答案
尝试在CheckBoxModel上使用checkOnly属性:
Try the checkOnly property on your CheckBoxModel:
var sm = new Ext.selection.CheckboxModel({
checkOnly: true
});
从文档中:
http://docs .sencha.com/extjs/4.1.3/#!/api/Ext.selection.CheckboxModel-cfg-checkOnly
checkOnly : Boolean
True if rows can only be selected by clicking on the checkbox column.
Defaults to: false
请在此处查看我的小提琴以获取工作示例: https://fiddle.sencha.com/#小提琴/vue
Please see my fiddle here for a working example: https://fiddle.sencha.com/#fiddle/vue
更新
要在渲染网格后更改CheckBoxModel checkOnly模式:
To change the CheckBoxModel checkOnly mode after the grid has been rendered:
grid.getSelectionModel().checkOnly = true;
这篇关于仅在单击复选框时才选择行ExtjS 4的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!