我已经包含在dataTable <p:column selectionMode="multiple" style="width:2%"/>
中,并为dataTable selection="#{login.selectedAlarms}"
提供了一个数组,但在选择checkBox时,它没有为数组设置任何内容。选择所有checkBox时,数组也为空。
<p:dataTable id="eventsDataTable" value="#{login.lstAlaramDataByType}"
selection="#{login.selectedAlarms}"
rowKey="#{item.id}" var="item" rowIndexVar="rowIndex">
<p:column selectionMode="multiple" style="width:2%"/>
<p:column id="vehicleId" headerText="vehicleId" width="60">
<h:outputText value="#{item.vehicleId}"/>
</p:column>
</p:dataTable>
Java代码:
private List<AlarmDataBean> lstAlaramDataByType;
private AlarmDataBean[] selectedAlarms;
和他们的Setters和getters。
setSelectedAlarms
选择checkBox时没有被调用。
我做错了吗?
答案 0 :(得分:0)
要查看对setSelectedAlarms()的调用,您需要提交表单(例如通过按钮),或者添加ajax事件,如下所示:
<p:datatable ...>
<p:ajax event="rowSelectCheckbox"/>
...
</p:dataTable>