我有一个带有上下文菜单的网格。我知道如何防止右键单击时选择行。我只是这样做:
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;
}