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

cpapy - 10 mars 2017 à 19:38 - 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

Répondre au sujet
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 10 mars 2017 à 20:08
0
Utile
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
Utile
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
Utile
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
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.