我有一个带有“rich:DataTable”的页面。对于每个表格行,添加一个复选框以允许用户在执行操作之前选择多行。如何检索选择的行?如何知道从DataTable中选择了哪些行
1
A
回答
0
只需向表示rich:DataTable
的行的POJO添加一个布尔值(可能称为selected
)即可。并结合这个布尔到<h:selectBooleanCheckbox>
在<rich:dataTable>
例如内<rich:column>
,你的豆类,POJO和视图可能看起来喜欢这样的:
<rich:dataTable value="#{myBean.customerList}" var="customer">
<rich:column>
<h:selectBooleanCheckbox value="#{customer.selected}" />
</rich:column>
<rich:column>
<h:outputText value="#{customer.name}" />
</rich:column>
<rich:column>
<h:outputText value="#{customer.address}" />
</rich:column>
</rich:dataTable>
public class MyBean {
private List<Customer> customerList;
//getter and setter for the customerList
}
public class Customer{
private boolean selected;
private String name;
private String address;
//getter and setter for the properties
}
要检索选择的行,只是迭代MyBean.customerList
并检查Customer
的selected
属性是否为true
。
0
[已解决]我决定不然。以这种方式添加了一个“Map”和一个带有“CheckBox”的列:“”。通过提交表单,选定的“Map”的行将获得布尔属性等于“true”。
我的豆:
public class Bean<T extends Object> {
private Map<T, Boolean> selectedRowsMap = new HashMap<T, Boolean>(0);
...
public Set<T> getSelectedRows() {
selectedRows.clear();
for (T key : getSelectedRowsMap().keySet()) {
if (getSelectedRowsMap().get(key) == true){
selectedRows.add(key);
}
}
return selectedRows;
}
}
我的XHTML:
<rich:dataTable>
<rich:column>
<h:selectBooleanCheckbox value="#{bean.selectedRowsMap[row]}" />
</rich:column>
<rich:column>
<h:outputText value="${row.age}" />
</rich:column>
...
<rich:dataTable>
相关问题
- 1. 如何知道在TableViewer中选择了哪一行?
- 2. 如何知道通过HttpContext.Current.Request.Form在HTML页面中选择了哪些复选框?
- 3. 如何知道在Qt中选择了哪个选项卡?
- 4. 如何知道选择了哪个mysqli_fetch_assoc行
- 5. 如何知道在Intent.ACTION_SEND中选择了哪个意图?
- 6. 如何知道选择了哪个单选按钮?
- 7. 如何知道在哪些版本中引入了某一行?
- 8. 如何知道已从JTextPane中删除了哪些文本
- 9. 如何知道选择哪个项目?
- 10. slickgrid:如何知道哪些行很脏
- 11. 知道在哪个单元格中选择了哪个按钮
- 12. 如何知道哪些函数重载GCC选择
- 13. 如何知道哪些NSCombobox选择调用委托
- 14. 如何知道使用Request.Form从CheckBoxList中选择哪些值的项目?
- 15. 如何知道选择了哪个滑块
- 16. 如何知道选择了哪条路线?
- 17. Xamarin - 如何知道用户选择了哪个文件
- 18. 如何知道在NSMatrix中选择了多少行和列?
- 19. 如何查看从SelectK中选择了哪些变量?
- 20. 如何知道用户是否从选择器中选择了意向动作
- 21. 我如何知道在project.json中添加了哪些导入?
- 22. 如何知道我今天在psql中更新了哪些表?
- 23. 知道在AppDelegate中选择了哪个UITabBarItem
- 24. 如何通过复选框知道在回收站中选择了哪些项目?
- 25. 如何知道用户更改了哪个选择标记选项
- 26. 如何知道在视图上选择了哪个单选按钮?
- 27. 如何确定在编辑模式下选择了哪些行
- 28. DataTable中选择行
- 29. 如何知道在Centos中的目录上执行了哪些命令?
- 30. 如何知道使用了哪些JAXB实现?
如果解决你的问题,你应该把它标记为答案 – Eonasdan