2

データテーブルの行番号を取得するために、ここで、dataTableをビューに直接バインドできるという回答を得ました(dataModelなしのJSF 2 dataTable行インデックス)。

複合コンポーネントでその関数を使用していますが、同じページに複数の関数が含まれている可能性があります。バインディングにより、各ページで複数のコンポーネントを使用することは不可能になると思います。どういうわけか、各テーブルを「別々に」バインドすることは可能ですか?

4

2 に答える 2

1

プロパティを持つバッキング コンポーネント クラスを作成しUIDataます。

@FacesComponent("fooComponent")
public class FooComponent extends UINamingContainer {

    private UIData table;

    // +getter +setter
}

#{cc.table}代わりにバインドします (#{cc}現在のバッキング コンポーネント インスタンスを参照します)。

<cc:interface componentType="fooComponent">
    ...
</cc:interface>
<cc:implementation>
    <h:dataTable binding="#{cc.table}" ...>
        <h:column>#{cc.table.rowIndex + 1}</h:column>
        ...
    </h:dataTable>
</cc:implementation>
于 2013-02-04T14:38:13.343 に答える