コンテキスト メニューのあるグリッドがあります。右クリックで行が選択されないようにする方法を知っています。私はちょうどこの方法でそれを行います:
var allowSelection=true;
Ext.getCmp('grid').on('beforeitemmousedown', function(grid, record, item, index, event, eOpts) {
if (event.button==0) allowSelection=true ;
else allowSelection=false;
});
Ext.getCmp('grid').on('beforeselect', function(grid, record, index, eOpts) {
return allowSelection;
});
しかし、私が今必要としているのは、行の選択解除を防ぐことです。実際、現在のコードでは行の選択が妨げられていますが、行の選択解除は妨げられていません。
編集
右クリック イベントにより、コンテキスト メニューがポップアップします。それを行うコードの部分はこれです
listeners:{
itemcontextmenu:function(view,record,item,index,e){
e.stopEvent();
gridMenu.showAt(e.getXY());
},
containercontextmenu:function(view, e){
e.stopEvent();
gridMenu.showAt(e.getXY());
}
...
このコードは、グリッドの viewconfig 内にネストされています。そのため、コンテキスト メニューがポップアップしたときに、行の選択解除をトリガーしたくありません。
編集
まあ、私は自分でやった。追加されたばかりreturn false
:
if (event.button==0) allowSelection=true ;
else {
allowSelection=false;
return false;
}