web-dev-qa-db-ja.com

デフォルトのp:dataTable emptyMessageメッセージを変更する方法

PrimeFacesのdataTableを使用しています。 「レコードが見つかりません」というメッセージが表示されます。テーブルに要素がない場合。このメッセージを「結果なし」のようなものに変更し、このメッセージをi18nタイプにします。

使いたくない

<p:dataTable 
    id="idTable" 
    ...
    emptyMessage="#{messages['general.message.EmptyList']}"
>

すべてのテーブル。

P:dataTableのデフォルトのemptyMessageメッセージを変更するにはどうすればよいですか?

21
ahmet

PrimeFaces 3.5 DataTableソースコードから:

210    public Java.lang.String getEmptyMessage() {
211        return (Java.lang.String) getStateHelper().eval(PropertyKeys.emptyMessage, "No records found.");
212    }

したがって、ハードコード化されており、PrimeFacesソースをハッキングするか、または<my:dataTable>をラップする tagfile(not composite!)<p:dataTable>を作成する以外に、単一の場所で変更する方法はありません。 ] _希望のメッセージセットを使用します。

<ui:composition ...>
    <p:dataTable id="#{id}" value="#{value}" var="item" 
        emptyMessage="#{messages['general.message.EmptyList']}">
        <ui:insert />
    </p:dataTable>
</ui:composition>
<my:dataTable id="foo" value="#{bean.items}">
    <p:column>#{item.foo}</p:column>
    <p:column>#{item.bar}</p:column>
</my:dataTable>

メッセージを実際にchangeしたくないが、単にhideまとめると、純粋なCSSソリューションを選択することもできます。

.ui-datatable-empty-message {
    display: none;
}
32
BalusC

データテーブルEj内にemptyMessage = ""と書き込みます。

<p:dataTable var="hola"
    value="#{logica.hola}"
    emptyMessage="text you want to appear" >
    </p:dataTable>
1
luisja19