Vaadin table.select(itemId)不起作用

时间:2013-10-24 17:43:35

标签: vaadin vaadin7

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

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

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

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

该行已正确插入但我想自动选择行但是select方法无效吗?

编辑:

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

1 个答案:

答案 0 :(得分: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);在最初的帖子