代码之家  ›  专栏  ›  技术社区  ›  Stephane Grenier

如何使用Vaadin流网格示例左键单击以处理柱可见性示例

  •  0
  • Stephane Grenier  · 技术社区  · 5 年前

    上的列可见性示例 https://vaadin.com/docs/latest/ds/components/grid/#column-visibility 代码显示了一个类 ColumnToggleContextMenu 这不是Vaadin API的一部分,但是它似乎以某种方式调整了按钮的连接方式,以便可以左键单击按钮,而不是上下文菜单的默认右键单击。考虑到这一点,下面的代码只会在右键单击时显示上下文菜单,我无法让它像示例代码那样工作。我的代码是:

    Button showHideColumnsButton = new Button("Show/Hide Columns");
    showHideColumnsButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
    
    ContextMenu contextMenu = new ContextMenu(showHideColumnsButton);
    for(Grid.Column column : grid.getColumns()) {
        contextMenu.addItem(getColumnName(column), e -> showHideColumn(column));
    }
    

    我正在考虑改用菜单栏,看看这是否管用,但我更愿意找出如何使用按钮,如果可能的话,因为这似乎更合适(主要是因为它允许复选框显示列是可见还是隐藏)。

    0 回复  |  直到 5 年前
        1
  •  2
  •   Paola De Bartolo    5 年前

    要使关联菜单左键打开,请单击“使用” setOpenOnClick(true) :

    Button showHideColumnsButton = new Button("Show/Hide Columns");
    showHideColumnsButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
    
    ContextMenu contextMenu = new ContextMenu(showHideColumnsButton);
    contextMenu.setOpenOnClick(true)
    for(Grid.Column column : grid.getColumns()) {
        contextMenu.addItem(getColumnName(column), e -> showHideColumn(column));
    }