Pessoal gostaria de saber como faço para imprimir os objetos de um data table em uma mesma linha??
pois tenho na verdade um dataTable dentro do outro e quero listar as imagens(dataTable Interno) na horizontal uma do lado da outro so que está aparecendo uma embaixo da outra…???
olha, a única forma eu acho que tem (utilizando JSF RI) é fazendo um workaround (A.K.A. gambi patterns) da vida ae
pode ser?
a única solução que eu acho possível é essa:
passo 1: criar um método no teu backing bean pra criar os elementos
public PanelGrid getPainelLateral() {
//pegar o Application do FacesContext
Application app = FacesContext.getCurrentInstance().getApplication();
// primeiro criar o componente do painel
HtmlPanelGrid resultado = (HtmlPanelGrid) app.createComponent( HtmlPanelGrid.COMPONENT_TYPE );
resultado.setColumns( dataModelInterno.size() ); //supondo que o dataModeInterno seja uma list
// agora criar um monte de figurinhas Pressupõe-se que o T seja do tipo da sua lista
// pelo que eu vi, essa lista está dentro de alguns objetos que você itera pra montar a dataTable
// então você vai ter que fazer um binding da sua tabela no teu backing bean pra pegar o índice da linha
for( T t : dataModel.value.get( horizontalTable.getRowIndex() ).getDataModelInterno() ) {
//criar o componente de imagem
HtmlGraphicImage imagem = (HtmlGraphicImage) app.createComponent( HtmlGraphicImage.COMPONENT_TYPE );
// vamos supor que nesse T tenha o endereço da imagem
imagem.setUrl( t.getEnderecoDaImage() );
// agora botamos a figura no panelGrid
resultado.getChildren().add( imagem );
}
return resultado;
}
Galera, vou aproveitar o topico para colocar uma dúvida sobre dataTable tbm.
Estou tentando fazer uma especie de seleção unica em uma dataTable utilizando um radioButton na primeira coluna e as informações sobre a seleção nas seguintes. O que acontece é que a forma que estou utilizando não está produzindo o resultado esperado: