0

我通过手动生成表格 HTML 并将其设置为 Vaadin Labelin ContentMode.HTML(不使用 Vaadin Table/ Grid)来呈现数据。

我想在每一行中生成一个链接或一个按钮,这将导致服务器调用相同的视图(并传递行项 ID)。

我有一个模糊的想法:为每个行项目生成一个隐藏的 Vaadin Button,并将其添加到我的表格 HTML 之外的某个位置到页面中。然后我希望有一些 Javascript 可以让我访问和触发那些隐藏的按钮。我可以在我的表格 HTML 中生成那个 Javascript 调用。

您认为这种方法可行吗?我将如何使用 Javascript 访问和触发那些隐藏的 Vaadin 按钮?

还是有更简单的方法(不诉诸使用Table/ Grid)?

编辑:也许这也适用于单个隐藏按钮。javascript 调用可能会在触发之前将 Button 标题设置为行 ID。

4

1 回答 1

0

Vaadin 提供Javascript 函数回调

我找到了一个为每一行生成此 HTML 的解决方案:

<a class='button' href='javascript:myfunction(" + itemId + ");'>Execute</a>

该函数是这样注册的。

JavaScript.getCurrent().addFunction("myfunction", args -> handleMyfunction(args));

并像这样处理:

  private void handleMyfunction(JsonArray args)  {
    long itemId = (long) args.getNumber(0);
    LOGGER.log(Level.INFO, "itemId: " + itemId);
  }

*很高兴

于 2017-04-27T02:00:46.613 回答