J'ai une table de données dans mon application, je fixe les colonnes width
comme 200
. Si j'imprime une petite ligne dans datatable
column
signifie que le format correct est imprimé. Si j’imprime une longue ligne dans la colonne datatable
, cela signifie qu’il ne peut pas envelopper. Comment puis-je wrap
la text
dans la colonne de la table de données.
Description du problème
Vous pouvez contrôler le wrapping Word par la propriété CSS Word-wrap
. Dans les tables, il suffit que la propriété table-layout
soit définie sur fixed
pour que les colonnes de largeur fixe ne se développent pas automatiquement lorsque leur contenu est plus volumineux.
Par exemple.
.fixed-size {
table-layout: fixed;
Word-wrap: break-Word;
}
et
<p:dataTable ... styleClass="fixed-size">
Le ci-dessous a fonctionné pour moi dans Chrome pas dans IE
.preformatted { white-space: pre-wrap; Word-break: break-all; }
<p:column> <h:outputText value="#{bean.txt}" styleClass="preformatted" /> </p:column>
Ma solution consiste à appliquer Word-break style à une colonne. Juste comme:
<p:column id="accountsMaskColumn"
headerText="#{msg['mr.settings.headers.accountMask']}"
filterBy="#{item.accountMask}"
sortBy="#{item.accountMask}"
style="Word-break: break-Word">
<h:outputText value="#{item.accountMask}"/>
</p:column>
J'espère que quelqu'un trouvera cela utile