Calculer la largeur des colonnes d'un MshFlexgrid [Résolu]

- - Dernière réponse :  cpapy - 11 mars 2017 à 17:54
Bonjour,


Je souhaite affecter la même largeur à toutes les colonnes d'un Mshflexgrid en sachant que le nombre de colonnes peut varier de 1 à 300

Mshflexgrid1.width / Nombre de colonnes ne permet pas d'obtenir le résultat que je souhaiterais.

En fonction du nombre de colonnes choisi, la largeur de la dernière colonne est soit trop petite soit trop grande.

Merci pour votre aide.
Afficher la suite 

4 réponses

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Bonjour,
Il faut pour cela :
1) se positionner (maflexgrid.colsel = (..N°...)
2) définir la position à donner à la colonne (maflexgrid.ColPos = .... valeur ...
Attention : les valeurs sont à exprimer en twips
Commenter la réponse de ucfoutu
0
Merci
bonjour Mr ucfoutu,

C'est ce que je fais

Exemple: en twips

NbreColonnes = 150
Largeur colonne = Mshflexgrid1.width / NbreColonnes
.
for i1 = 0 to Nbrecolonnes
. mshflexgrid1.colwidth(i1) = Largeur Colonne
next i1
.
Lorsque je change la valeur de NbreColonnes, dans certain cas, la dernière colonne est soit trop grande soit trop petite (Peut être un problème d'arrondi ou de GriDColonne qui ne sont pas comptabilisé dans le calcul de NbreColonnes ?)
.
Merci
Commenter la réponse de cpapy
0
Merci
bonjour Mr. ucfoutu,

Je viens de découvrir la cause de mon problème: Une instruction parasite.

Désolé pour le dérangement et encore merci pour votre aide.

Très cordialement.
Commenter la réponse de cpapy
0
Merci
Je me suis un peu avancé précédemment en disant avoir trouvé la solution à mon problème:

Exemple: Mshflexgrid1.width = 14535
.
Avec 150 colonnes, la taille d'une colonne est 14535/150 soit 96,9
Après avoir affecté ces 96,9 à mes 150 colonnes (Colwidth(x))
.
La taille réelle des colonnes après cette opération est de 90.
.
On perd donc 6,9 par colonne

Merci pour votre aide.
Commenter la réponse de cpapy