23

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

使いたくない

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

すべてのテーブルに対して。

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

4

2 に答える 2

37

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

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

したがって、ハードコーディングされており、PrimeFacesソースをハッキングするか、目的のメッセージセットでラップするタグファイル(複合ではありません!) を作成する以外に、1か所で変更する方法はありません。<my:dataTable><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>

実際にメッセージを変更したくないが、メッセージを完全に非表示にしたい場合は、純粋なCSSソリューションを選択することもできます。

.ui-datatable-empty-message {
    display: none;
}
于 2013-02-13T14:50:29.683 に答える
1

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

<p:dataTable var="hola"
    value="#{logica.hola}"
    emptyMessage="text you want to appear" >
    </p:dataTable>
于 2017-12-14T09:23:15.800 に答える