質問

おはようございます!!

動的なデータテーブルがあり、richfacesの列を使用していますが、値をfilterbyに割り当てると機能しません。誰かが私を助けることができますか?災いは私のコードです。

<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>
役に立ちましたか?

解決

追加してみてください sortBy="#{column.nomeAtributo}"sortOrderrich:columns それが動作します。私たちは初期バージョンでそのような問題があることを知るようになりました。 RF 3.2.1をお試しください。そうでなければ問題を解決する必要があると思います。

他のヒント

私が見ることができるものから、あなたはフィルタービーで間違った属性を使用しています。ネストを使用して、ソートする要素を見つける場所を指定します。何かのようなもの #{atendimento(column.nomeAtributo)}, 、しかし、私はそれをテストできる場所にいません。これが本質的に行うことは、列の名前を評価し、次にあなたの行から同じ名前を持つゲッターを呼び出すことです atendimento. 。ネスティング構文が機能しない場合は申し訳ありませんが、ネストがあなたの答えだと思います。

もしも #{atendimento[column.nomeAtributo]} 値を印刷するために機能しますが、それはあなたが望むものですが、NomeAtributoが配列参照の整数である場合にのみ機能することを期待します。

問題を引き起こす可能性のあるFilterbyの別の問題に出くわしました。特定のビジネス状態(アクティブ、期限切れなど)でエンティティで作業するフィルターバイを使用していましたが、他のビジネスではそうではありませんでした。エンティティの状態は、実際のフィルター値とは何の関係もありませんでした。

Filtermethodを使用して、バッキングビーンでフィルタリングを行ったとき、それは正常に機能しました。 ajaxsingleを使用したFiltermethodの入力テキストでは、Filterbyがフォーム全体を提出することが判明しました。そのフォームを合計で送信したときに検証に失敗しましたが、検証エラーは飲み込まれました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top