我是Vaadin的新手。 我有三种不同的看法。 View1有一个包含column1,column2的表。对于特定的表行,当我单击column1时,我想导航到view2,当我点击column2时,我希望能够导航到view3。我可以使用ValueChanged事件作为整体响应行单击。但我如何处理单击行的特定列? 我处理行单击的方式如下
summaryTable.addValueChangeListener(new Property.ValueChangeListener() {
@Override
public void valueChange(Property.ValueChangeEvent event) {
String provider = summaryTable.getContainerProperty(summaryTable.getValue(), "provider").toString();
UI.getCurrent().getNavigator().navigateTo(ViewsEnum.PROVIDERS.viewName()+"/"+provider);
}
});
请帮忙
答案 0 :(得分:5)
下面代码中的逻辑给了我点击的列。我在valueChange()中使用selectedColumn的值来确定我想要导航到哪个View。
summaryTable.addItemClickListener(new ItemClickEvent.ItemClickListener() {
@Override
public void itemClick(ItemClickEvent event) {
// TODO Auto-generated method stub
selectedColumn = (String)event.getPropertyId();
}
});
不确定这是否是正确的方法,或者只是一个黑客攻击。 我相信有更好的方法。请提出建议!