2016-12-17 8 views
0

私はdataTableを持っています。テーブルの各セルには1つのチェックボックスがあります。私のコードはこのようなものです。 私の問題は、私は最後のチェックボックスの値を取得しているということです。他のチェックボックスのどれもバッキングBeanにバインドされていません。データテーブル内のチェックボックスの値を取得する

すべてのチェックボックスがチェックされている場合は値を取得してください。

<p:dataTable id="dataT" value="#{bean.dataList} var="data"> 
    <p:column> 
    <h:outputLabel value="#{data.id}"/> 
    </p:column> 
    <p:columns id="basic" value="#{bean.list2} var="lst"> 
    <f:facet name="header"> 
      <h:outputText value="#{lst.header}" /> 
     </f:facet>  
     <p:selectManyCheckbox value="#{bean.checkBoxList}"> 
     <f:selectItem itemLabel="Xbox One" itemValue="Xbox One" /> 
    <p:selectManyCheckbox> 
</p:dataTable> 
+0

あなたが唯一の最後の 'Pの値を取得する意味ですか?さて、データvarのdataListを反復処理しますが、ALLを同じcheckBoxListにバインドするので、ビヘイビアは実装した通りです。 PFの基本的な例を参照してください:http://www.primefaces.org/showcase/ui/data/datatable/basic.xhtmlまたは編集:http://www.primefaces.org/showcase/ui/data/datatable/edit .xhtml – Kukeltje

+0

すべてのマーク付きチェックボックスの値が必要です。どのようにそれを達成するための任意の提案? –

+0

''のようなことを行い、データオブジェクトにチェックボックスのフィールドを与えます。すべてのプレーンな入力を得ることとまったく同じです... – Kukeltje

答えて

0

kukeltjeのように、すべての行でBean.checkBoxListを使用しています。期待どおりの動作が得られます。

あなたのDataObjectの中でLSTを格納し、value属性を追加することができます。

HTML:selectManyCheckbox`:

<p:columns id="basic" value="#{data.list2} var="lst"> 
<f:facet name="header"> 
     <h:outputText value="#{lst.header}" /> 
    </f:facet>  
    <p:selectManyCheckbox value="#{lst.checkBoxList}"> 
    <f:selectItem itemLabel="Xbox One" itemValue="Xbox One" /> 
<p:selectManyCheckbox></p:columns> 
+0

)。これは最後の行 –

+0

のcheckmarx値のみを保存しています2.最後の列のcheckmarx値のみを格納します –

+0

答えを更新しました。あなたのデータオブジェクトにリストを追加できない場合は、もっと複雑な方法がいくつかありますが、もっと複雑で、可能であればこの方法を使用します。 – lastresort

関連する問題