3

ユーザーが行を選択した場合、dataTable の選択された行を直接取得したいと考えています。

私が追加しました

 <p:dataTable id="dataTableID" var="row"
                    value="#{bean.value}"
                    rowKey="${row.id}"
                    selection="#{bean.selectedValue}" selectionMode="single">

ボタンをクリックして取得するだけです。

4

1 に答える 1

8

primefaces dataTable には、行を即座に選択するための ajax イベントが 2 つあります。1 つは選択用で、もう 1 つは選択解除用です。

<p:dataTable ..>
    <p:ajax event="rowSelect" listener="#{yourBean.someListener}"/>
    ...
</p:dataTable>

これで、次のように (クラス Foo の) 選択した項目にアクセスできます。

public void someListener(SelectEvent event) {  
    (Foo) event.getObject()     // cast "Object" to "Foo" 
}  

追加情報については、最初に primefaces ショーケースをご覧ください: http://www.primefaces.org/showcase/ui/datatableRowSelectionInstant.jsf

于 2012-12-05T16:17:48.120 に答える