1

我有一个绑定到 a 的表格SQLContainer和一个插入按钮(在表格中插入一行)

单击按钮时,它将执行以下侦听器代码:

Object itemId = table.addItem();
container.getContainerProperty(itemId, "cedula").setValue(cedulaS);

try {
    container.commit();
    table.select(itemId);
catch (UnsupportedOperationException e) { //bla }

该行已正确插入但我希望自动选择该行但选择方法不起作用任何想法?

编辑:

select(ItemId) 正在工作,它选择行但由于某种原因提交行使 select(ItemId) 不起作用。我认为是因为 itemId 是一个临时行,所以当提交执行时它会消失或丢失它的值。

4

1 回答 1

1

这个帖子有答案,感谢@Teppo Kurki

https://vaadin.com/forum#!/thread/4268146

问题是 itemId 是一个临时行 id,所以当执行提交时,我改变了行 id,所以它必须在下面的监听器中实现:

container.addRowIdChangeListener(new QueryDelegate.RowIdChangeListener() {
  void rowIdChange(QueryDelegate.RowIdChangeEvent event) {
      table.select(event.getNewRowId());
   }
});

Ant 我们现在可以删除 table.select(itemId); 在最初的帖子中

于 2013-10-30T14:03:09.573 回答