我正在使用带有过滤选项的primefaces数据表。我已经使用全局数据过滤功能检索数据表中的值列表。我通过数据表中的selectBoolean复选框选择了特定的行。在不过滤行并选择复选框的情况下,完成相应的选定值。但是当我通过过滤选项搜索特定值并选择行意味着默认情况下我只得到第一行值。例如,我搜索了表中的最后一个值并选择了那些行,但我得到了第一行的值。
Jsf Page:
<p:dataTable emptyMessage="No values found with given criteria" id="ng1" var="ngo"
widgetVar="ngoS" paginator="true" rows="15" paginatorPosition="bottom"
value="#{approveControl.appNgo}" paginatorAlwaysVisible="false">
<f:facet name="header">
<p:outputPanel>
<h:outputText value="Search all fields:" />
<p:inputText id="globalFilter" onkeyup="ngoS.filter()" style="width:150px" />
</p:outputPanel>
</f:facet>
<p:column filterBy="#{ngo.name}" headerText="NgoName">
#{ngo.name}
</p:column>
<p:column headerText="Email" filterBy="#{ngo.email_id}">
#{ngo.email_id}
</p:column>
<p:column headerText="Select">
<h:selectBooleanCheckbox id="list" value="#{approveControl.checked[ngo.ngo_id]}" />
</p:column>
<f:facet name="footer">
<h:inputHidden rendered="#{!approveControl.appNgo.isEmpty()}">
<p:commandButton value="Reject" onclick="onSubmit(#{approveControl.appNgo.size()});" />
</h:inputHidden>
</f:facet>
</p:dataTable>
我正在使用Primefaces 3.0和jsf 2.0。我该怎么解决呢。