2012-05-10 13 views
2

同じクエリを最初と最後の両方で使用します。完全なメソッドが最初に呼び出されますが、結果を計算した後はUIで送信されません。誰もこの問題に遭遇しましたか?あなたはこれを解決する方法に関するアイデアはありますか?Primefaces Autocompleteは初めて動作しません。

<p:autoComplete id="filterByMachine" value="#{notificationListViewLazyModel.selectedMachine}" scrollHeight="500" 
           completeMethod="#{notificationListViewLazyModel.complete}" converter="#{notificationListViewLazyModel.converter}" 
           var="p" itemLabel="#{p.platformName} #{p.serial} #{p.sitename}" 
           itemValue="#{p}" forceSelection="true" size="48" > 
+0

あなたはメソッドを完了するメソッドを返しますか?それをデバッグして、リストが空ではないことを確認しましたか? –

+0

本当にそれはリストを返し、リストが空ではないことが分かりました – Viocartman

+0

あなたのフォームのコードを置くことができますか? –

答えて

0

itemValueはオブジェクトなので、コンバータ(implement converter)を実装する必要があります。

itemValueは項目値で、要求パラメータとしてサーバーに渡されますが、値はSelectItemインスタンス(ref)を指す値バインディング式です。

+0

私はコンバータを実装していますが、それでもなぜ2回目は動作しますか?私は火かき棒でチェックして、私がバックエンドから得た2つの応答は同じ、またはほぼ2回目の提案のリストを見るからです。 – Viocartman

1

私はこの問題は関連しているとは確信していませんが、この同じシナリオがちょうど私たちに起こりました。問題をデータベースレベルまで追跡した後、我々は何が起こっているかを発見した。

どうやらautoCompleteコンポーネントは、ユーザーが最初にテキストを入力したときに、クエリ文字列に2つの先頭の空白を追加します。

クエリ文字列をトリミングすることで、この問題が解決されました。

+0

見つかったPrimeFacesのバージョンを回答に追加してください – Kukeltje

-1

私も同じ問題がありました。私はフィールドをクリックすると、それは動作しませんが、私はフィールドにタブして、それが自動完了するsomethingsを書き始めました。

空白文字が1つあります。

フィールドをクリックすると、それが残っています。しかし、私はフィールドをタブで選択した領域を書き込んでいる間に自動的に選択されます。それは動作します;)

関連する問題