0

Mojarra /Tomcat7.0.29でPF3.4のセル内の編集可能なデータテーブルを使用しています。

私の問題は、入力テキストに検証を適用していることです。これはうまく機能します。私が抱えている唯一の問題は、検証が失敗した後、セルが赤でマークされることです。編集可能モードを閉じても(つまり、キャンセルボタンをクリックして)、次に編集モードに入ろうとすると、赤のままになります。編集可能モードを閉じた、赤いハイライトを削除する必要があります。

すべてが正常に機能しているため、ほとんどの場合、外観上の問題です。

何か案は?

これまで、バリデーターでコンポーネントを試しsetValid(true)ましたが、あまり役に立たないようです。

4

1 に答える 1

2

必要なコンポーネントはResetInputです。

入力コンポーネントは、検証が失敗したときにローカル値を状態に保ちます。コンポーネントが代わりにバッキング Bean モデルから値を取得できるように、ResetInput を使用して状態からキャッシュされた値をクリアします。

リセット入力コンポーネントをアクションにアタッチして、別のコンポーネントの状態をリセットします

<p:commandButton ....>
    <p:resetInput target="input1" />
</p:commandButton>

別の解決策は、属性もサポートする PrimeFaces Extensions のResetInputを使用することです。このようにして、次のようeventに直接接続できます。rowEditCancelresetInput

<p:ajax event="rowEditCancel"/>
<pe:resetInput event="rowEditCancel" for="input1"/>
于 2012-10-24T10:01:36.717 に答える