Boa tarde galera Guj. Estou com mais um problema e recorro novamente ao forum. Pesquisei e nao encontrei soluçoes. Segue o problema.
Eu tenho uma tela de pesquisa com um botao para buscar no banco os objetos de pesquisa. Ate tudo bem. Quando a pesquisa termina ele popula uns List<> pra mim bunitinho no codigo Java. Mas o problema é que no botao eu mando renderizar o componente do dataTable, mas isso nao acontece. Segue os codigos necessario abaixo.
estou utilizando o a4j:form
ah, ja tentei retirando o reRender=“dataTable” e utilizando o a4j:support.
o botao que aperto para pesquisar o codigo no banco e criar a table no codigo Java.
<a4j:commandLink id="btnPesq" title="Pesquisar"
action="#{pesquisaGeneric.pesquisar}" reRender="dataTable">
<h:graphicImage id="imagePesq" url="/images/lupa.png" width="20"
height="20" style="border:0" />
</a4j:commandLink>
O método para criar e popular a table pra mim.
public void populateDataTable() {
form = new HtmlForm();
form.setId("formGeneric");
dynamicDataTable = new HtmlDataTable();
dynamicDataTable.getRowIndex();
dynamicDataTable.setValueExpression("value", createValueExpression(
"#{pesquisaGeneric.objects}", List.class));
dynamicDataTable.setVar("dynamicItem");
for (String collum : cabecalhoTable) {
HtmlColumn column = new HtmlColumn();
HtmlOutputText output = new HtmlOutputText();
output.setValueExpression("value", createValueExpression(
"#{dynamicItem."+collum+"}", String.class));
column.getChildren().add(output);
dynamicDataTable.getChildren().add(column);
}
HtmlColumn column = new HtmlColumn();
HtmlAjaxCommandButton commandButton = new HtmlAjaxCommandButton();
String value = "CLICK";
commandButton.setValue(value);
commandButton.setActionExpression(createMethodExpression("#{pesquisaGeneric.selectedRow}", String.class));
HtmlActionParameter param = new HtmlActionParameter();
param.setValue(createValueExpression("#{dynamicItem}", Object.class));
commandButton.getChildren().add(param);
dynamicDataTable.getChildren().add(column);
form.getChildren().add(dynamicDataTable);
}
Ele esta executando sem erros nenhum, porem nao reinderiza esse componente pra mim.
<rich:dataTable id="dataTable" binding="#{pesquisaGeneric.dynamicDataTable}"/>
Tem um bom tempo que to tentando fazer isso mas sem sucesso algum.
Agradeço pela atençao de todos.