我有一个p:commandLink
<p:commandLink id="btAdicionar"
action="#{myBean.addDocs}"
update="messagesDialog myDataTable">
</p:commandLink>
MyDataTable是这样的:
<p:dataTable
id="myDataTable"
widgetVar="myDataTable"
var="documentoEnvio"
width="600px"
emptyMessage="Selecione documento(s)"
paginator="true" paginatorPosition="bottom" rowsPerPageTemplate="5,10,15" paginatorAlwaysVisible="true" styleClass="ui-tj-datagrid"
selection="#{myBean.documentosSelecionadosEnvio}"
value="#{myBean.listaDocumentosEnvio}" rows="#{msgs['grid.row.default']}" currentPageReportTemplate="#{msgs['grid.currentPageReportTemplate.of']} {totalPage}"
paginatorTemplate="#{msgs['grid.label.exibir']} {RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} #{msgs['grid.label.JumpToPageDropdown']} {JumpToPageDropdown} {CurrentPageReport} {NextPageLink} {LastPageLink}">
<p:column id="tipoDocumento2" styleClass="ui-normal-column-header" headerText="Tipo Documento">
<h:outputText value="#{documentoEnvio.tipoDocumentoHabilitacao.descricao}" escape="false" style="text-align: center !important; display: block;" />
</p:column>
...</p:dataTable>
我的豆子
public void adicionarDocumentosSelecionados(){
listaDocumentoEditalEnvio = new ArrayList<DocumentoHabilitacao>();
Set<DocumentoHabilitacao> setdListDocumentoListHabilitcao = new HashSet<DocumentoHabilitacao>();;
for(int i=0; i < documentosSelecionados.length; i++ ){
setdListDocumentoListHabilitcao.add(documentosSelecionados[i]);
}
listaDocumentoEditalEnvio.addAll(setdListDocumentoListHabilitcao);
listaDocs = new ArrayList<DocumentoHabilitacao>();
listaDocs = listaDocumentoEditalEnvio;
listaDocumentosEnvio = new BaseDataModel<DocumentoHabilitacao>(listaDocs, DocumentoHabilitacao.class);
}
加载的值确定。但不会出现在p:daatTable中。显示一个空行: