dataTable で選択したデータを取得するにはどうすればよいですか? レジスターの「編集」なのでこの方法を使っています。
<p:dataTable id="dataTable" var="valor" style="width:100%; text-align:center"
value="#{beanMensagemXContato.dataModelMsg}"
selection="#{beanMensagemXContato.selectedMensagemAssociada}"
paginator="true" rows="6" >
<f:facet name="header">
Mensagens
</f:facet>
<p:column style="width:5%">
<p:selectBooleanCheckbox value="#{valor.associada}" >
<p:ajax process="@form" event="valueChange" listener="# {beanMensagemXContato.adicionarMensagemContato}">
<f:param name="messageSelecionada" value="#{beanMensagemXContato.msgAssociada}" />
</p:ajax>
</p:selectBooleanCheckbox>
</p:column>
...
</p:dataTable>
イベント SelectEvent として Bean でデータを選択します。
public void adicionarMensagemContato (SelectEvent event){
Mensagem mensagem = ((MensagemAssociada) event.getObject()).getMensagem();
MensagemAssociada mensagemAssociada = (MensagemAssociada) event.getObject();
...
}
しかし、イベント ValueChange でデータを取得できませんでした。タグ selectionMode = "multiple" で SelectEvent を試してみましたが、その時点で選択されたデータを取得できましたが、以前に選択してデータベースから読み取ったデータは表示されず、xhtml で上記の方法でのみ使用します。
すでに私は助けに感謝しています。