Hi all, i'm trying to create a button that, when pressed, shows contextual menu that shows/hides the ListGridFields on a ListGrid.
I'm create a list of MenuItems for each ListGridField in my ListGrid; but when i click a menuItem, contextual menu disappears.
This is a unexpected behaviour for me; i want achieve that when a menuItem is clicked, contextual menu doesn't disappear.
I simply want reproduce the function presents in default contextual menu that determines what columns in listGrid are visible.
I'm using Firefox ESR 17.0.6 and SmartGwt 3.0 -p
This is my function
I'm also trying to force a menu.show() at the end of ClickHandler; so contextual menu "seems" doesn't close, but in this work around; checkIfCondition doesn't work!
I'm create a list of MenuItems for each ListGridField in my ListGrid; but when i click a menuItem, contextual menu disappears.
This is a unexpected behaviour for me; i want achieve that when a menuItem is clicked, contextual menu doesn't disappear.
I simply want reproduce the function presents in default contextual menu that determines what columns in listGrid are visible.
I'm using Firefox ESR 17.0.6 and SmartGwt 3.0 -p
This is my function
Code:
public ToolStripMenuButton getColumnMenuButton() { final Menu menu = new Menu(); menu.setMargin(60); for (final ListGridField lgf :getListGrid().getFields()) { final String fieldName = lgf.getName(); final MenuItem item = new MenuItem(lgf.getTitle()); item.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() { @Override public void onClick(MenuItemClickEvent event) { if (getListGrid().fieldIsVisible(fieldName)) { getListGrid().hideField(fieldName); } else { getListGrid().showField(fieldName); } } }); menu.addItem(item); item.setCheckIfCondition(new MenuItemIfFunction() { @Override public boolean execute(Canvas target, Menu menu, MenuItem item) { return getListGrid().fieldIsVisible(fieldName); } }); } ToolStripMenuButton menuButton = new ToolStripMenuButton("", menu); String imgHTML = Canvas.imgHTML("suite/action/options_16.png"); menuButton.setTitle("<span>" + imgHTML + " </span>"); return menuButton; }
Comment