我的数据表组件有问题。我想在primefaces showcase上创建一个带有复选框的数据表,例如多选示例。这是代码:
<p:dataTable id="table_cats" value="#{fooBean.catsList}" var="cat" selectionMode="single" selection="#{fooBean.selectedCatsToDelete}">
<p:column selectionMode="multiple">
<f:facet name="header">Remove</f:facet>
</p:column>
<p:column>
<f:facet name="header">Cat Name</f:facet>
<h:outputText value="#{cat.name}" />
</p:column></p:dataTable>
所以,问题是当选择一个项目时。我不知道如何获取表格中的所有选定项目。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
它们都设置在#{fooBean.selectedCatsToDelete}
后面的属性中,因此可以在任何连接到某个命令链接/按钮的动作/侦听器方法中访问它们。
E.g。
<p:commandButton value="Remove" action="#{bean.remove}" />
与
public void remove() {
someService.remove(selectedCatsToDelete); // JSF has already put the selected items in selectedCatsToDelete.
}
答案 1 :(得分:0)
您的评论意味着“此示例不起作用”并不十分清楚。有什么错误吗?或者selectedCatsToDelete
是空的吗?
首先猜测的是selectionMode="single"
与<p:dataTable>
中的selectionMode="multiple"
。
尝试从表格标记中删除该属性。