チェックボックス列を持つ dataTable があります。dataTable からのデータをデータベースにロードします。これまでのところ、すべてがうまくいっています。これを行うと、特定の条件でマークされたチェックボックスが表示される必要がありますか?
dataTable コードに従います。
<p:dataTable id="dataTable" var="valor"
style="width:100%; text-align:center"
value="#{beanMensagemXContato.dataModelMsg}"
paginator="true" rows="5"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15"
selection="#{beanMensagemXContato.selectedMensagens}">
<f:facet name="header">
Mensagens
</f:facet>
<p:column selectionMode="multiple" style="width:5%">
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Código" />
</f:facet>
<h:outputText value="#{valor.idtMensagem}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Mensagem" />
</f:facet>
<h:outputText value="#{valor.nomMensagem}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Descrição" />
</f:facet>
<h:outputText value="#{valor.desMensagem}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Configurador" />
</f:facet>
<h:outputText value="#{valor.indConfigurador}" />
</p:column>
</p:dataTable>
以下のコードがリストを正しくロードするまで、選択されたレコードの 1 つだけが画面に表示されます。
listaMsgContato = consultaContatoEmail.listarMensagensAssociadas(selectedConsulta.getIdtContato());
int l=0;
int tamanho = listaMsgContato.size();
selectedMensagens = new Mensagem[tamanho];
for(int i=0; i<listaMsgContato.size(); i++){
for(int j=0; j<listaMsg.size();j++){
System.out.println("Lista Msg Contato: " + listaMsgContato.get(i).getIdtMensagem() + " - Lista Msg: " + listaMsg.get(j).getIdtMensagem());
if((long)listaMsgContato.get(i).getIdtMensagem()==(long)listaMsg.get(j).getIdtMensagem()){
System.out.println("Entrou");
//Fazer o selectedMensagens receber os valores.
selectedMensagens[l]=listaMsg.get(j);
l++;
}
}
}
私のxhtmに何かが欠けていると思います。