CheckboxModelで行を選択した時にチェックがつくのを抑止する
GridのselTypeにCheckboxModelをつけるとチェックボックス付きのグリッドを作ることができる。
Ext.define 'HogeGrid', {
selType: 'checkboxmodel'
...
}
で、こうするとグリッドにチェックボックスが右端に追加されるけど、デフォルトだとチェックボックス以外の列を選択(クリック)した際にもチェックが行われてしまう。さらには、複数選択している場合は他の列をクリックすると今までチェックしていたものがすべて解除されてしまう。
デフォルトの動作を変更して、他の列をクリックした場合にはチェックを行わないようにしたい場合は、checkboxmodelのオプションでcheckOnlyをtrueに設定する。
Ext.define 'HogeGrid', {
selType: 'customcheckboxmodel'
...
}
Ext.define 'CustomCheckboxModel',{
extend: 'Ext.selection.CheckboxModel'
alias: 'selection.customcheckboxmodl'
checkOnly: true
}
「複数選択している最中に他のセルを誤ってクリックすると選択が全部解除されちゃう」問題はとりあえずこれで回避した。