Vaadin table avec des largeurs de colonne en fonction du contenu de la largeur
Dans Vaadin, un HorizontalLayout donne à chaque composant exactement l'espace dont il a besoin aussi longtemps que il ya assez de lui, et pas plus.
Dans un tableau créé avec un BeanItemContainer cependant, toutes les colonnes ont la même largeur. Parce que le contenu de la table est chargé dynamiquement, la largeur est différente à chaque fois et les différents Pc ont des tailles de police différentes, nous ne voulons pas de spécifier une largeur fixe en pixels.
Comment pouvons-nous dire de la ligne de se comporter comme un tableau html ou un HorizontalLayout en ce qu'elle donne à chaque ligne droite, la largeur, pas plus et pas moins?
OriginalL'auteur Konrad Höffner | 2012-03-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer ceci uniquement avec une Règle CSS:
Chrome>=4, Firefox>=3.5, Opéra>=9.6, Safari>=3.2, IE>=9
Je voudrais bien, mais c'est des données sensibles. Peut-être un autre canal de contact?
OK alors je viens de la confiance que vous avez vérifié 🙂
OriginalL'auteur sven.kwiotek
Il me semble que vous êtes à la recherche pour l'expansion de ratio. Il fonctionne comme le développer ratio de HorizontalLayout.
Ont un coup d'oeil à https://vaadin.com/api/com/vaadin/ui/Table.html#setColumnExpandRatio%28java.lang.Object,%20float%29 pour plus d'informations.
Edit: si vous définissez la expandratio d'une cellule (par exemple le dernier) tous les autres prennent leur espace nécessaire. Cela pourrait être une solution de contournement pour votre condition.
Si vous commentez le dernier article, vous verrez que la première colonne ne prend l'espace nécessaire.
J'ai ajouté un exemple dans mon post précédent.
Avec Vaadin version 6.7.2, l'expansion de la ration 1.0 f juste prend tout l'espace en abondance. Les autres colonnes ne pas re-dimensionnées. Ce que nous voulons, c'est que les colonnes de développer de sorte que leurs valeurs sont complètement démontré.
OriginalL'auteur nexus
setColumnWidth(-1) devrait activer l'auto-scaling. Bien que ce soit habituellement la valeur par défaut (même avec BeanItemContainers, donc je suis surpris que vous ne voyez pas que le comportement automatiquement.
Un concept connexe, éventuellement la peine de vous poursuivre est setSizeUndefined() qui est une méthode de la non négligeable de l'interface.
OriginalL'auteur Dan