フィルタリングオプション付きのprimefacesdatatableを使用しています。グローバルデータフィルタリング機能を使用して、datatableの値のリストを取得しました。データテーブルの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>
Primefaces3.0とjsf2.0を使用しています。どうすれば解決できますか。