私のアプリケーションでは、最初のページに配置されたデフォルト値でデータテーブルをロードしています(ログイン後)。データのロード中に、データテーブルはユーザーを混乱させる「レコードが見つかりません」というプロンプトを表示します。ロード中にそれを非表示にするにはどうすればよいですか。 ?
2 に答える
少しわかりやすいと思いますが、とにかくデフォルト値を表示するので、を設定できemptyMessage=""
ます<p:dataTable>
。
emptyMessage
ただし、後で表示する必要がある場合(たとえば、ユーザー固有のデータをロードする場合)、次のようなものを使用して、最初のロード時にそれを「無効」にすることができます。
emptyMessage="#{dataBean.firstLoad ? '' : 'No records found.'}"
ここで、ユーザーがログインしたばかりのときにfirstLoad
戻る(たとえば、デフォルト値がロードされる)バッキングBeanのメソッドがあります。そうでない場合は、ユーザー固有のデータをロードする必要があり、実際には空になる可能性があります。true
false
<p:dataTable>
未検証
テーブルのデータをロードする前にクリックされているボタンがあると思います
したがって、jqueryコマンドを追加して、空のメッセージのメッセージを保持する行をそのonclick属性に非表示にすることができます。
onclick="jQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').hide();"
あなたができるより
で線を見えるように戻しますjQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').show();
または、primefcesボタンを使用している場合は、試すことができます
onstart="jQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').hide();"
onsuccess="jQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').show();"
成功時に呼び出すのは、.show()
次にテーブルが空になるときにテーブルが空のメッセージを表示できるようにするためです。