Redimensionnement automatique des colonnes d'une FlexGrid
OCh
Messages postés4Date d'inscriptionjeudi 10 janvier 2002StatutMembreDernière intervention31 janvier 2002
-
10 janv. 2002 à 14:17
cs_coyote
Messages postés45Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention28 novembre 2008
-
10 janv. 2002 à 15:32
Y-a-t-il un moyen de faire en sorte que la taille des colonnes d'une FlexGrid s'ajuste sur la taille maximale des valeurs contenues dans la colonne.
L e nombre de champs n'étant pas connu avant de lancer l'application, il n'y a pas moyen de prédéfinir les taille de colonne.
A voir également:
Redimensionnement automatique des colonnes d'une FlexGrid
cs_coyote
Messages postés45Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention28 novembre 2008 10 janv. 2002 à 15:32
Je ne sais pas si il existe de methode prés définie, mais tu peux toi meme rechercher la longueur du string le plus long pour une colonne.
Voici une facon de faire pour une MSFlexGrid:
'pour une colonne donnée
Private Sub ajusteLargeur(msfg As MSFlexGrid, col As Integer)
Dim max As Integer
Dim index As Integer
max = 0
Printer.FontBold = msfg.Font.Bold
Printer.FontItalic = msfg.Font.Italic
Printer.FontName = msfg.Font.Name
Printer.FontSize = msfg.Font.size
For index = 1 To msfg.Rows - 1
If max < Printer.TextWidth(msfg.TextMatrix(index, col) + " ") Then max = Printer.TextWidth(" " + msfg.TextMatrix(index, col) + " ")
Next
msfg.ColWidth(col) = max
End Sub
'pour toute la table
Private Sub ajusteTable(msfg As MSFlexGrid)
Dim index As Integer
For index = 1 To msfg.Cols - 1
ajusteLargeur msfg, index
Next
End Sub
'=> ces methodes ne prennent en compte ni la ligne 0 ni la colonne 0.