Comment changer le message par défaut p:datable emptyMessage
j'utilise le dataTable de PrimeFaces. J'ai "Aucun enregistrement trouvé."quand la table n'a pas d'élément. Je veux changer ce message à quelque chose comme "aucun résultat" et faire ce message i18n type.
je ne veux pas utiliser
<p:dataTable
id="idTable"
...
emptyMessage="#{messages['general.message.EmptyList']}"
>
pour chaque table.
Comment changer p: dataTable default emptyMessage
message?
2 réponses
à Partir de la PrimeFaces 3.5 DataTable
code source:
210 public java.lang.String getEmptyMessage() {
211 return (java.lang.String) getStateHelper().eval(PropertyKeys.emptyMessage, "No records found.");
212 }
donc, c'est codé dur et il n'y a aucun moyen de le changer en un seul endroit autre que de pirater la source PrimeFaces ou de créer un tagfile (non composite!)<my:dataTable>
qui enveloppe le <p:dataTable>
avec le message désiré.
<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>
Si vous avez réellement ne voulez pas modifier le message, mais veulent simplement masquer tout à fait, alors vous pourriez optez également pour une solution CSS pure:
.ui-datatable-empty-message {
display: none;
}
écrire emptyMessage="" à l'intérieur de la datatable Ej:
<p:dataTable var="hola"
value="#{logica.hola}"
emptyMessage="text you want to appear" >
</p:dataTable>