Problema com selection em um <p:dataTable>

4 respostas
maurijava

Senhres,

Tenho um pagina com o seguinte trecho de código:

<h:outputText escape="false" value="#{bundle.ListEquipamentosEmpty}" rendered="#{equipamentosController.itemsRegional.rowCount == 0}"/>
                <h:panelGroup rendered="#{equipamentosController.itemsRegional.rowCount > 0}">
                    
                    <p:dataTable id="dataTable" value="#{equipamentosController.itemsRegional}" var="item" rowKey="#{item.codigo}" selection="#{equipamentosController.selected}" selectionMode="single"
                                 paginator="true" rows="10"  
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink}  {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                 rowsPerPageTemplate="5,10,20,30">
                        <f:facet name="header">  
                              .
                              .
                              .
                  </p:dataTable>

No ManageBean temos os códigos correspondentes:

Metodo que retora o objeto Equipamento (Ententy)

public Equipamentos getSelected() {
        if (current == null) {
            current = new Equipamentos();
            selectedItemIndex = -1;
        }
        return current;
    }

Já tentei:

public Equipamentos getSelectedEquip() {
        reset = false;
        current = (Equipamentos) getItemsRegional().getRowData();
        selectedItemIndex = pagination.getPageFirstItem() + getItemsRegional().getRowIndex();
        return current;
    }

e

public Equipamentos getSelectedEquip() {
        return current;
    }

Nos três casos eu consigo seleciona a linha da tabela na tela, mas quando ele chama o objeto no menu de contexto só vem o primeiro item da tabela, ou seja, não importa em qual linha eu selecione ele retorna sempre a primeira.

Alguem sabe o que é?

Sds,

Maurijava.

4 Respostas

maurijava

Pode ser por que eu to usando DataModel??? Tem alguma coisa haver?

Sds,

Maurício.

maurijava

Ninguém tem uma ideia do que seja?

Sds,

Maurício.

maurijava

Pessoal,

 estou entendendo mais ou menos o que está acontecendo, mas preciso de uma luz...

  Fiz o teste com outra consulta, com o mesmo objetivo.
  Uma pagina com um intputex para receber um valor inteiro e guardar no objeto x.codigo
  Depois chama outra tela com uma tabela <p:table> com o resultado da consulta.
  
  Tirei o menu de contexto e agora to usando um botão.

 Quando eu chamo o <p:dialog> para carregar as informações ele retorna o objeto apenas com o atributo que eu passei, ou seja o codigo. Se eu der um F5 ele carrega os dados normalmente...

 Ou seja  executando a consulta mas não  fazendo o request do servidor.  tentei mudar o Bean de SessionScoped para ViewScoped e RequestScoped, mas quebra a consulta.

 Como faço para força ele a fazer o request sem ter que recarregar a pagina????

Sds,

Maurício.

maurijava

Ninguém???

Criado 15 de janeiro de 2013
Ultima resposta 16 de jan. de 2013
Respostas 4
Participantes 1