我正在使用PrimeFaces的dataTable。我得到“没有找到记录。”当table没有元素时我想将此消息更改为“无结果”,并将此消息设为i18n类型。
我不想使用
<p:dataTable
id="idTable"
...
emptyMessage="#{messages['general.message.EmptyList']}"
>
每张桌子。
如何更改p:dataTable默认emptyMessage
消息?
答案 0 :(得分:31)
来自PrimeFaces 3.5 DataTable
源代码:
210 public java.lang.String getEmptyMessage() {
211 return (java.lang.String) getStateHelper().eval(PropertyKeys.emptyMessage, "No records found.");
212 }
所以,它是硬编码的,没有办法在一个地方改变它,除了攻击PrimeFaces源或创建一个tagfile (not composite!) <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;
}
答案 1 :(得分:1)
写emptyMessage =&#34;&#34;在数据表中 EJ:
<p:dataTable var="hola"
value="#{logica.hola}"
emptyMessage="text you want to appear" >
</p:dataTable>