Boa noite galera,
Estou desenvolvendo uma aplicação onde tenho uma Datatable “Primefaces” onde seleciono várias de suas linhas (produtos a serem comprados) setando-as a um Bean pra futuramente gravar esses objetos selecionados em um pedido.
Segue trecho de código onde faço isso
<p:dataTable id="tabela" var="produto" value="#{previsaoController.listaProdutosPrevisao}"
paginator="true"
rows="5"
margin = "0"
rowsPerPageTemplate="5,30,60,120,240,480"
emptyMessage="Nenhum registro localizado."
rowKey="#{produto.iId}"
selection = "#{previsaoController.produtos}">
<p:column selectionMode="multiple" style="width:2%" />
<p:column headerText="Código">
<h<img src="http://javafree.uol.com.br/forum/images/smiles/icon_surprised.gif">utputText value="#{produto.iId}" />
</p:column>
<p:column headerText="Cod. Fábrica">
<h<img src="http://javafree.uol.com.br/forum/images/smiles/icon_surprised.gif">utputText value="#{produto.sCodigoFabrica}" />
</p:column>
<p:column headerText="Desc. Produto">
<h<img src="http://javafree.uol.com.br/forum/images/smiles/icon_surprised.gif">utputText value="#{produto.sDescricaoProduto}" />
</p:column>
<f:facet name="footer">
<p:commandButton id="viewButton" value="Gerar Pedido"
icon="ui-icon-search" update=":dialogVisualisarPedido"
oncomplete="dialogVisualisarGerPedido.show();" />
</f:facet>
</p:dataTable>
No Dialog que abro tenho um datalist mostrado abaixo
[code]
<p:dataList id=“display"
value=”#{previsaoController.produtos}"
var=“selectedProduto” type=“definition”>
Descrição: #{selectedProduto.sDescricaoProduto}, Código: #{selectedProduto.iId}:
</p:dataList> [/code]
no meu Bean tenho
private Produto[] produtos;
public void setProdutos(Produto[] produtos) {
this.produtos = produtos;
}
public Produto[] getProdutos() {
return produtos;
}
segui o exemplo do proprio primefaces: http://www.primefaces.org/showcase/ui/datatableRowSelectionMultiple.jsf
porém os objetos não estão sendo adicionados ao array ao serem selecionados, ja debuguei a aplicação e vi que quando abro o dialog o array esta vazio.
alguma dica de como resolver?
Desde já grato pela atenção.