Pergunta

Bom Dia!!

Eu tenho um datatable dinâmico e estou usando colunas de richfaces, mas quando atribuo o valor ao filtro, ele não funciona. Alguém pode me ajudar? Ai é meu código ..

<rich:dataTable id="dtAtendimento" value="#{CadastroAtendimentoTecnico.listaAtendimento}" var="atendimento">
    <rich:columns index="index" value="#{CadastroAtendimentoTecnico.listaCampos}" var="column" filterBy="#{column.nomeAtributo}" filterEvent="onKeyUp">
        <f:facet name="header">
            <h:outputText value="#{column.label}"/>
        </f:facet>
        <h:outputText value="#{atendimento[column.nomeAtributo]}"/>
    </rich:columns>
</rich:dataTable>
Foi útil?

Solução

Tente adicionar sortBy="#{column.nomeAtributo}" e sortOrder para rich:columns vai funcionar. Cheguei a saber que temos esses problemas na versão inicial. Por favor, tente RF 3.2.1. Eu acho que deveria resolver o problema de outra forma.

Outras dicas

Pelo que posso ver, você está usando o atributo errado no filtro. Você deseja usar o ninho para especificar onde encontrar o elemento para classificar. Algo como #{atendimento(column.nomeAtributo)}, mas não estou em um lugar em que posso testá -lo. O que isso faz essencialmente é avaliar o nome da coluna e depois chama o getter com o mesmo nome do seu objeto de linha atendimento. Desculpe se a sintaxe do ninho não funciona, mas acho que o ninho é a sua resposta.

Se #{atendimento[column.nomeAtributo]} Funciona para imprimir o valor, então é isso que você deseja, mas eu só esperaria que funcione se o NomAtribo for um número inteiro para a referência da matriz.

Eu me deparei com outro problema com o Filterby, que pode causar problemas. Tínhamos o filtro trabalhando em entidades em um determinado estado comercial (ativo, expirado etc.), mas não em outras. O estado da entidade não tinha nada a ver com o valor real do filtro.

Quando usei um filterthod e fiz a filtragem no feijão de apoio, funcionou bem. Aconteceu que o FilterBy envia o formulário inteiro enquanto estiver no meu InputText para o filtermethod que usei Ajaxsingle. Uma validação falhou quando você enviou esse formulário no total, mas o erro de validação foi engolido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top