我有一个表绑定到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是一个临时行,所以当执行提交时它会消失,但会丢失其值。
答案 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);在最初的帖子