2016-02-07 1 views
0

J'utilise la méthode vaadin et je souhaite utiliser l'affichage des détails des lignes lors de la sélection d'une ligne. Cela fonctionne tant que la table a beaucoup de rang. Supposons que vous filtrez des données de la table et la table rapetisseComment puis-je empêcher que la grille devienne plus petite qu'une hauteur minimale?

enter image description here

lorsque vous sélectionnez une ligne que vous n'êtes pas en mesure de voir les détails de ligne voir plus, car la grille est trop petite.

Comment puis-je empêcher que la grille ne devienne plus petite qu'une hauteur minimale?

Répondre

0

Vous pouvez recalculer la hauteur de la grille dans le générateur de détails à l'aide de votre conteneur de données. Ce n'est pas la solution finale, mais cela fonctionne parfaitement pour mes besoins, ce qui change dynamiquement la hauteur de la grille sans barre de défilement à l'intérieur.

Grid table... 
table.setHeightMode(HeightMode.ROW); 
table.setDetailsGenerator(new DetailsGenerator() { 

    public Component getDetails(RowReference rowReference) { 
     table.setHeightByRows(tableContainer.getItemIds().size() + 4); 
     //detalis height is constant so I solve this by adding extra space which equals the size of 4 the rows 
     // 
     //for filtered container you can use tableContainer.getVisibleItemIds() 
    } 
} 

Espérons que cela vous aide. Si vous trouvez une meilleure solution, veuillez la poster ici. Je n'ai pas chech cela, mais qu'en est-il de marquage composant comme générateur de détails intérieur sale?