Question

Bonjour !!

J'ai un datatable dynamique et je suis en utilisant des colonnes de RichFaces, mais quand j'attribue la valeur à FilterBy, il ne fonctionne pas. Quelqu'un peut-il m'aider? Malheur est mon code ..

<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>
Était-ce utile?

La solution

Essayez d'ajouter sortBy="#{column.nomeAtributo}" et sortOrder à rich:columns il fonctionnera. Je suis venu à savoir que nous avons des problèmes sur la version précoce. S'il vous plaît essayer RF 3.2.1. Je pense qu'il devrait résoudre le problème autrement.

Autres conseils

D'après ce que je peux voir que vous utilisez le mauvais attribut dans filterBy. Vous voulez utiliser l'imbrication pour indiquer où trouver l'élément à trier. Quelque chose comme #{atendimento(column.nomeAtributo)}, mais je ne suis pas dans un endroit où je peux le tester. Ce que cela fait essentiellement est d'évaluer le nom de la colonne, puis appelle le getter avec le même nom hors de votre objet ligne atendimento. Désolé si la syntaxe d'imbrication ne fonctionne pas, mais je pense que l'imbrication est votre réponse.

Si #{atendimento[column.nomeAtributo]} fonctionne pour imprimer la valeur alors c'est ce que vous voulez, mais je voudrais seulement espérer qu'il fonctionne si nomeAtributo est un entier pour le référencement tableau.

Je suis tombé sur un autre problème avec filterBy qui peut causer des problèmes. Nous avons eu le travail filterBy sur les entités dans un certain état d'affaires (actif, expiré, etc.), mais pas dans d'autres. L'état de l'entité n'a rien à voir avec la valeur réelle du filtre.

Quand je un filterMethod et fait le filtrage sur le grain de support il a bien fonctionné. Il est avéré que filterBy soumet le formulaire tout en mon inputText pour le filterMethod je ajaxSingle. Une validation a échoué lorsque vous avez soumis cette forme au total, mais l'erreur de validation a été avalée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top