Bonjour,
J'aimerai savoir le paramètre qui me permettra de fixer la largeur de <p:column></p:column>.
Merci de votre aide
Version imprimable
Bonjour,
J'aimerai savoir le paramètre qui me permettra de fixer la largeur de <p:column></p:column>.
Merci de votre aide
Bonjour,
as-tu essayé l'attribut style="width : 50px" , par exemple ?
Oui je l'avais essayé, mais il m'affiche des largeur différent pas fixe
As-tu regardé le rendu HTML généré (avec la proposition de fxrobin) ?
Il semblerait que les largeurs fixées ainsi ne fonctionnent pas car elles sont affectées aux <div> conteneurs et non aux colonnes.
Le responsable développement de Primefaces explique dans ce topic la solution possible en attendant la résolution de ce problème.
j'ai vu votre lien, mais ce que je comprends pas c'est que le code suivant je vais le mettre où exactement ?
Code:
1
2
3
4
5
6
7
8 Code: .actions { width: 35px; text-align: center; } .yourClass table { width:auto; }
C'est du CSS (Cascading Style Sheet), le même type code que l'on insère dans les tags "style" des balises.
En l'occurence ici, ils définissent des classes CSS dans un fichier extérieurs, pour les réutiliser plus facilement dans leurs pages.
Il faut donc créer un nouveau fichier CSS, et l'importer dans ta page pour que les classes crées soient utilisables.
Effectivement, c'est ce que j'avais fait, j'ai un fichier Style.css, qui contient le code suivant :
Dans ma page.xhtml j'aiimporté le fichier css :Code:
1
2
3
4
5
6
7 .actions { width: 35px; text-align: center; } .yourClass table { width:auto; }
et dans les colonnes j'ai appelé action :Code:
1
2
3
4
5
6 <head> <style type="text/css" media="all"> @import "./resources/css/style.css"; </style> </head>
mais malheureusement j'ai pas une largeur fixe de la colonne, j'ai des colonnes qui ont des largeurs différents ... :(Code:<p:column id="SourceTable" styleClass="actions" >
Bonjour,
Vaste problème que les tailles des colonnes avec les tables Primefaces (15 jours dessus pour finir par passer par du JavaScript pour avoir ce que je veux exactement).
Mais sinon pour que la largeur soit exactement celle que tu veux il faut savoir plusieurs choses:
1- Tu doit associé à ta table (<p:datatable> attribut tableStyle ou tableStyleClass) le style CSS suivant:
En effet si tu met pas table-layout: fixed; ton explorateur internet va recalculer les largeurs de colonne quoique tu fasse.Code:
1
2
3 width : auto !important; table-layout: fixed;
2 - un entête de colonne Primefaces est du type <th><div><span/></div></th> le style appliqué à <p:column> s'applique sur la div du coup le th (et donc la colonne visible) aura la largeur de la div + paddings eventuelles.
3 - si tu attend un peu Primefaces 3.3 va sortir et aura l'attribut width directement dans <p:column> peut être cela permettra une meilleur gestion qu'actuellement.
4 - En dernier recours utiliser du javascript ...
Quand j'associe la table (<p:datatable> attribut TableStyle ou TableClass) le style CSS
ouCode:<p:dataTable id="dataTable" var="" value="" TableClass="yourClass" rowsPerPageTemplate="5,10,15">
il souligne le TableStyle et/ou TableClassCode:<p:dataTable id="dataTable" var="" value="" TableStyle="yourClass" rowsPerPageTemplate="5,10,15">
Code:
1
2The attribute TableClass not defined in the component's interface