如何确定单击的Vaadin表格行是否已被选中或取消选中?
在用户单击Vaadin 7表格中的一行后,我如何判断 如果行已被选中或取消选中-单击选中的行将取消选中该行-(因为还有一列 需要保持同步的复选框) 当我在ItemClickListener中尝试table.getValue()时,如果 行被选中,如果行被取消选中,则项目id为-即 我会期待什么如何确定单击的Vaadin表格行是否已被选中或取消选中?,vaadin,vaadin7,Vaadin,Vaadin7,在用户单击Vaadin 7表格中的一行后,我如何判断 如果行已被选中或取消选中-单击选中的行将取消选中该行-(因为还有一列 需要保持同步的复选框) 当我在ItemClickListener中尝试table.getValue()时,如果 行被选中,如果行被取消选中,则项目id为-即 我会期待什么 table.addItemClickListener(new ItemClickEvent.ItemClickListener() { @Override public void itemClic
table.addItemClickListener(new ItemClickEvent.ItemClickListener() {
@Override
public void itemClick(ItemClickEvent event) {
// how tell if row has been selected or deselected?
Object idx = table.getValue();
}
});
谢谢,,
Steve使用代替表格。它具有selectionListener
属性,可以帮助您实现所需的功能
在表api中,您可以使用getValue()方法,该方法将生成所选行 根据是否处于MultiHelp模式,您可以推断发生了什么 (因为还有一列复选框需要保留在 同步 使用ans set
grid.setSelectionMode(SelectionMode.MULTI)代码>默认情况下,您将有一个带有复选框的额外列
现在,如果您不想使用网格
对于Table
您应该使用vaadinTable.addValueChangeListener(…)
而不是ItemClickListener
例如:
另一个选择是
table.addItemClickListener(new ItemClickEvent.ItemClickListener() {
@Override
public void itemClick(ItemClickEvent event) {
//Manage collection and manually fetch property of table
Object value = event.getItem().getItemProperty("property").getValue();
}
});
table.addItemClickListener(new ItemClickEvent.ItemClickListener() {
@Override
public void itemClick(ItemClickEvent event) {
//Manage collection and manually fetch property of table
Object value = event.getItem().getItemProperty("property").getValue();
}
});