Java GXT网格中不可隐藏的列
我正在寻找一种方法来防止用户在我的网格中隐藏某些列。我试图覆盖Java GXT网格中不可隐藏的列,java,gwt,extjs,gxt,Java,Gwt,Extjs,Gxt,我正在寻找一种方法来防止用户在我的网格中隐藏某些列。我试图覆盖Menu createContextMenu(final int colIndex)方法的GridView,在该方法中,我找到与我的不可隐藏列相关的子菜单项,并对它们调用disable(): ... for (Component menuItem : menu.getItems()) { String text = ((MenuItem) menuItem).getText(); if (((MenuItem) men
Menu createContextMenu(final int colIndex)
方法的GridView
,在该方法中,我找到与我的不可隐藏列相关的子菜单项,并对它们调用disable()
:
...
for (Component menuItem : menu.getItems()) {
String text = ((MenuItem) menuItem).getText();
if (((MenuItem) menuItem).getSubMenu() != null && (text.equals("Columns"))) {
for (Component subMenuItem : ((MenuItem) menuItem).getSubMenu().getItems()) {
String subMenuItemText = ((MenuItem) subMenuItem).getText();
if (<i want this column to be not hidable>) {
subMenuItem.disable();
}
}
}
}
...
。。。
对于(组件菜单项:menu.getItems()){
字符串文本=((MenuItem)MenuItem.getText();
if(((MenuItem)MenuItem.getSubMenu()!=null&&(text.equals(“Columns”)){
对于(组件子菜单项:((MenuItem)MenuItem.getSubMenu().getItems()){
字符串subnumItemText=((MenuItem)subnumItem).getText();
如果(){
子菜单项。禁用();
}
}
}
}
...
它几乎可以工作——当网格刚刚呈现时,我禁用的菜单项将变灰,并且它们不接受用户的输入。但是,在切换其他未禁用的列后,所有列都会中断。突然,禁用的菜单项变为启用
我使用的是GXT 2.2.6
谢谢大家! 找到了问题的原因。列中的任何更改都将调用GXT侦听器,并最终调用GridView的restrictMenu方法。这将覆盖我的所有禁用设置。解决方案是添加自定义侦听器,让GXT的侦听器执行其工作,然后覆盖启用/禁用设置