1

以下に示すように、クラスであるタイプ Units のアイテムのリストを持つfilter属性を使用したいと思います。<p:selectOneMenu>Enum

public enum Units {

      PERCENT, MILLIMETER, METER, NUMBER
}

で使用するfilter<p:selectOneMenu>、何もフィルタリングされません。リストにユニット型のアイテムがあり、フィルターで文字列を比較しているためだと思います。フィルターで一致させる前に、ユニット項目を文字列に変換するコンバーターを使用する必要がありますか? もしそうなら、私のコンバーターはどうあるべきですか?

4

2 に答える 2

2

問題を再現できます。フィルタは、アイテムのリストがデフォルトの表示アイテム数を超えた場合にのみ機能します。これは実際には、メニューの作成とフィルターの初期化を担当する JavaScript のバグです。あなたの最善の策は、それをバグとして PrimeFaces の担当者に報告することです。

于 2013-01-14T11:07:27.860 に答える
0

さて、これが私がそれを機能させた方法です。に<p:selectOneMenu>属性を追加しましたheight="200"。コード スニペットSelectOneMenu with filter not working with less than 10 elements に従って、フィルターは高さが設定されている場合にのみ機能します。

于 2013-01-15T04:52:19.087 に答える