Criar um UIData dinamicamente

0 respostas
A

Galera blz?

Estou criando um componente que faz uma busca dinamicamente e cria, se necessário um uidata. O uidata (htmldatatable) renderiza, mas assim:
<table>
<tbody><tr><td></td></tr></tbody>
</table>
O codigo que faz a criação esta assim:
UIData uiData = new javax.&#8203;faces.&#8203;component.&#8203;html.HtmlDataTable();
uiData.setId("um_id");
uiData.setVar("uma_var");
uiData.setRows(10);

//adicionando coluna
UIOutput header = new javax.&#8203;faces.&#8203;component.&#8203;html.HtmlOutputText();
header.setValue("Titulo da minha coluna");
UIOutput valueC = new javax.&#8203;faces.&#8203;component.&#8203;html.HtmlOutputText();
ValueExpression ve = FacesHelper.createValueExpression("#{" + ui.getVar() + "." + propriedadeDaEntidade + "}", Object.class);
UIColumn uiC = new javax.&#8203;faces.&#8203;component.&#8203;html.UIColumn();
uiC.setHeader(header);
uiC.getChildren().add(valueC);
uiData.getChildren().add(uiC);
//adicionando dados
List<Entidade> list = new ArrayList<Entidade>();
//<aqui eu popularia essa lista>
uiData.setValue(list);
Ai no meu componente eu adiciono o datatable +/- assim:
ResponseWriter writer = context.getResponseWriter();
writer.startElement("div", instanciaDoComponente);
writer.writeAttribute("id", instanciaDoComponente.getClientId(), "clientId");
instanciaDoComponente.getChildren().add(uiData);

Alguém sabe o que pode ser porque não lista os dados?

Criado 4 de maio de 2011
Respostas 0
Participantes 1