getRowData em um DataModel

1 resposta
M

Boa tarde galera, tenho uma pagina que possui uma tabela, dentro dessa tabela tenho duas açoes possiveis, posso selecionar um objeto da lista e detalha-lo, para isso uso um index criado no Bean, segue o index na tela:

<brHtml:brPanelGrid align="left" width="100%">
			<t:selectOneRadio id="radio" layout="spread"
				value="#{produtoBean.produtoIndex}">
				<f:selectItems value="#{produtoBean.produtoItems}" />
			</t:selectOneRadio>
			<brHtml:brPanelGroup>
				<app:scrollableDataTable id="tbListaproduto" width="100%"
					value="#{produtoBean.produtos}"  var="produto" rows="10"
					rowIndexVar="index">
					
					<app:scrollableColumn width="3%">
						<f:facet name="header">
							<brHtml:brOutputText value=" " />
						</f:facet>
						<t:radio for=":listarProdutos:radio" index="#{index}" />
					</app:scrollableColumn>

Segue o index no Bean:

private Integer produtoIndex;


    public List<SelectItem> getProdutosItems() {
        List<SelectItem> items = new ArrayList<SelectItem>();

        for (Integer i = 0; i < produtoList.size(); i++) {
            items.add(new SelectItem(i, "", String.valueOf(propostaList.get(i).getCodProduto())));
        }
        return items;
    }

na segunda ação, eu libero ou cancelo um produto, para isso, tenho um check box para cada ação na coluna, ao salvar, preciso ler todos os registros desta lista e salvar as alterações, segue a pagina:

<app:scrollableColumn>
						<f:facet name="header">
							<brHtml:brCommandLink onclick="liberarProduto()" value="Liberar"/>
						</f:facet>
						<brHtml:brSelectBooleanCheckbox id="liberaProposta" disabled="#{produto.situacaoProduto != 0}" />
					</app:scrollableColumn>
					
					<app:scrollableColumn>
						<f:facet name="header">
							<brHtml:brCommandLink onclick="cancelarProduto()"  value="cancelar" />
						</f:facet>
						<t:selectBooleanCheckbox id="cancelaProduto" disabled="#{produto.situacaoproduto >= 2}" />
					</app:scrollableColumn>
o método:
for (int i = 0; i < produtos.getRowCount(); i++) {
                produtoVo = new ProdutoVo();
                produtoVo = (ProdutoVo) produtos.getRowData();
                mensagem = cadastroApoioService.liberarCancelarProduto(produtoVo);
                FacesUtils.addInfoModalMessage(mensagem, false);
            }

o problema é que ele nao atribui o objeto da linha para o meu Vo... alguem ja passou por algo parecido?

1 Resposta

drsmachado

Aqui tem umas coisas a respeito: http://jamacedo.com/2010/06/crud-jsf-2-0-hibernate-exemplo-gerenciando-livros-2/ .
Porém, estes dias eu tive o mesmo problema, ele apenas referenciava o primeiro elemento da DataModel.
Bem estranho.
Creio que seja a versão do jar.

Criado 16 de dezembro de 2011
Ultima resposta 16 de dez. de 2011
Respostas 1
Participantes 2