我正在使用带有过滤选项的 primefaces 数据表。我已经使用全局数据过滤功能检索数据表中的值列表。我已经通过数据表中的 selectBoolean 复选框选择了特定的行。如果不过滤行并选择复选框,则完成相应的选定值。但是当我通过过滤选项搜索特定值并选择行时,意味着默认情况下我只得到第一行值。例如,我从表中搜索最后一个值并选择该行,但我得到了第一行值。
jsf页面:
<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。我该如何解决。