2016-11-24 50 views
1

我无法获取网格上下文菜单显示。 Vaadin 7.6.3,vaadin-context-menu 0.7.4。Vaadin网格上下文菜单未打开/显示

GridContextMenu gridContextMenu = new GridContextMenu(grid); 
gridContextMenu.addGridBodyContextMenuListener(e -> eventGridRowContext(e)); 

而且处理程序:

private void eventGridRowContext(GridContextMenuOpenEvent e) 
{ 
    Job job = (Job) e.getItemId(); 

    if(job == null) 
    { 
    return; 
    } 

    grid.select(job); 

    ContextMenu contextMenu = e.getContextMenu(); 
    contextMenu.removeItems(); 
    contextMenu.addItem("Test", e2 -> Notification.show("Test")); 
    contextMenu.open(e.getX(), e.getY()); 
} 

我得到的事件。调试器通过公开调用运行,但没有任何反应。

+1

你重新编译了你的widgetset吗? [本文](https://vaadin.com/blog/-/blogs/using-contextmenu-with-vaadin-7-6)和[此主题](https://vaadin.com/forum/#!/线程/ 12420543/12420542)建议您需要这样做才能使加载项起作用 –

+0

@IanA我使用来自vaadin(vaadin-client-compiled)的预编译的widgetset。 – Zalumon

+1

我可能完全错误,因为我对Vaadin相当陌生,但我的印象是,如果使用[addons](https://vaadin.com/docs/-/part/),则无法使用预编译的小部件集framework/addons/addons-overview.html),其中包含小部件,因为addon小部件集需要编译到应用程序小部件集中。 –

回答

2

如果您正在使用包含小部件的自定义加载项,那么您无法使用预编译的小部件集,因为附加部件集需要编译到应用程序小部件中。

Vaadin Addons documentation美国...

“大部分附件包括小工具,在Vaadin的Java API中使用的服务器端组件的客户端的同行,如部件的一组角色所示。该小部件集需要编译到应用程序小部件集中。“

This article and this thread建议您需要重新编译vaadin-context-menu附加组件的工作。

相关问题