Gostaria de obter o nome das colunas de um dataTable no JSF.
Por exemplo, tenho uma tela com um dataTable e no click de um botão na tela teria de exibir em uma lista o nome de todas as colunas daquela dataTable.
[quote=ddducceschi]Gostaria de obter o nome das colunas de um dataTable no JSF.
Por exemplo, tenho uma tela com um dataTable e no click de um botão na tela teria de exibir em uma lista o nome de todas as colunas daquela dataTable.
[/quote]
você deve criar um atributo do tipo HtmlDataTable no ManagedBean para fazer o binding do h:dataTable. mais ou menos como o exemplo “linkado” abaixo:
depois pegar as colunas com o método getChildren().
Cheguei a fazer isto, porém quando chego nas colunas faço um getValue() mas é retornado não o nome da coluna, mas sim a chave que indica o nome da coluna, por exemplo: #{msgs.label_nome}
não pesquisei muito, mas acho que dá para pegar o valor resolvendo a Expression Language. veja: http://stackoverflow.com/questions/8518046/programmatically-get-expression-value-of-facelets-parameter-variable.
Creio que obter o Texto mesmo não seja possivel, pois quando pego o atributo value do outputText dentro da coluna só me é retornado o valor que foi passado para ele, no caso a chave do properties (#{msgs.label_nome}).
Mas neste caso creio que já seja suficiente para trabalhar com estes dados obtidos.