如何使vaadin表格单元格点击监听器

时间:2017-08-15 16:32:46

标签: java tooltip vaadin clicklistener

我有vaadin表,里面有一些行和列。如何使单元格可以单击1个特定列?

目标:我希望在点击该特定列的单元格时显示工具提示,而不是鼠标悬停。单元格包含文本作为标签。

我没有发布任何代码,因为我只有桌子(它不会帮助任何人)。

1 个答案:

答案 0 :(得分:1)

目前无法在clickListener中附加GridLabelButton个特定单元格,因为此discussion上有此问题。他们告诉单元格只是数据的表示,而不是元素,所以不能点击它们。

除此之外,您可以在单元格中添加组件,例如插件Buttongithub),或者只需添加Button并将其设置为无边框。

PD:作为奖励,我添加了Grid中添加RendererClickListener clickListener = new RendererClickListener() { private static final long serialVersionUID = 1L; @Override public void click(RendererClickEvent event) { //Do your actions } }; ButtonRenderer renderer = new ButtonRenderer(ownerClickListener, ""); grid.getColumn("columnName").setRenderer(renderer); 的代码:

Vaadin 7

GeneratedPropertyContainer

此方法的替代方法是使用ComponentRenderer之类的属性生成器,并使用类似ComponentRendererhere)的插件来呈现按钮。我的其他答案中的一个例子here ..

Vaadin 8.1

Vaadin 8.1现在有一个内置的Grid可供grid.addComponentColumn(person -> { Button button = new Button("Click me!"); button.addClickListener(click -> Notification.show("Clicked: " + person.toString())); return button; }); // make sure the buttons fit in the cells of the Grid grid.setBodyRowHeight(40); 使用。请参阅What’s New,第一项,“网格中的组件”。

Grid

正如margin-left: -134px; 文档in Vaadin page

中显示的示例