2

フィルタリングオプション付きの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を使用しています。どうすれば解決できますか。

4

0 に答える 0