|
Ajustement automatique des colonnes |
Débuté par Mickael, 30 aoû. 2004 11:14 - 4 réponses |
| |
| | | |
|
| |
Posté le 30 août 2004 - 11:14 |
Bonjours Existe t il une fonction qui permet d'ajuster automatiquement la largeur d'une colonne en fonction du nombre de lettre autorisé? Un peu comme sous l'éditeur, ou on peut faire l'ajustement d'un champ de saisie en fonction de ses nombres de caractères autorisés. Merci Mickael |
| |
| |
| | | |
|
| | |
| |
Posté le 28 septembre 2004 - 13:14 |
bonjour,
bonne idée, moi je cherche la manière d'ajuster automatique la largeur des colonnes d'un tableau. la taille ajustée étant celle du plus long élément de ce tableau. ce qui me parait normal. s'il la colonne est vide la largeur devra être celle du titre de la colonne.
j'en ai un peu marre d'ajuster manuellement et sans arrêt la largeur de mes colonnes dès que j'ajoute ou supprime des lignes.
c'est possible de la faire par programmation mais existe t'il un paramètre ou une fonction toute faite?
merci A+ |
| |
| |
| | | |
|
| | |
| |
Posté le 24 novembre 2004 - 23:04 |
l'instruction tableajuste() fait exactement cela. Ça fonctionne même si j'ajoute des colonnes au tableau en clonant d'une colonne existante. À la fin du traitement d'ajouter des colonnes il suffit d'utiliser cette fonction et le tour est joué. |
| |
| |
| | | |
|
| | |
| |
Posté le 28 février 2014 - 10:10 |
Bonjour,
TableAjuste() fonctionne en nombre de caractères, si comme moi, vous souhaitez retailler les colonnes en taille sur toute la largeur du tableau (raison esthétique), j'utilise cette fonction :
Procedure TableAjusteVraiment(TABLE) nNb est un entier sColonne est une chaîne
nLargeurTotal est un entier nLargeurInitiale est un entier nLargeurDynamique est un entier nTotal_TauxAncrageLargeur est un entier
SI "O" = Majuscule(SetSQLParam(MaFenêtre..Nom, "TableAjusteVraiment(" + TABLE..Nom + ")", "O", Vrai, Faux, "Fonction d'auto ajustement de la taille des colonnes d'un tableau")) ALORS nNb = TableOccurrence(TABLE,toColonne)
nLargeurInitiale = 0 nTotal_TauxAncrageLargeur = 0 POUR i = 1 A nNb sColonne = TableEnumèreColonne(TABLE, i)
SI sColonne <> "" ALORS SI {TABLE..Nom + "." + sColonne, indChamp}..Visible ALORS SI {TABLE..Nom + "." + sColonne, indChamp}..TauxAncrageLargeur = 0 ALORS nLargeurInitiale += {TABLE..Nom + "." + sColonne, indChamp}..LargeurInitiale SINON nTotal_TauxAncrageLargeur += {TABLE..Nom + "." + sColonne, indChamp}..TauxAncrageLargeur FIN FIN FIN FIN
nLargeurTotal = TABLE_Dossier..Largeur - 16 nLargeurDynamique = nLargeurTotal - nLargeurInitiale SI nLargeurDynamique < 0 ALORS nLargeurDynamique = 0
POUR i = 1 A nNb sColonne = TableEnumèreColonne(TABLE, i)
SI sColonne <> "" ALORS SI {TABLE..Nom + "." + sColonne, indChamp}..Visible ALORS SI {TABLE..Nom + "." + sColonne, indChamp}..TauxAncrageLargeur = 0 ALORS {TABLE..Nom + "." + sColonne, indChamp}..Largeur = {TABLE..Nom + "." + sColonne, indChamp}..LargeurInitiale SINON {TABLE..Nom + "." + sColonne, indChamp}..Largeur = nLargeurDynamique * ({TABLE..Nom + "." + sColonne, indChamp}..TauxAncrageLargeur / nTotal_TauxAncrageLargeur) FIN FIN FIN FIN FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 33 messages |
|
Posté le 07 août 2015 - 11:30 |
Bonjour Jerome
Je trouve ta procédure très intéressante mais je bloque sur SetSQLParam. Que présente t'il ? Pour l'instant, j'ai mis en commentaire cette condition mais j'aurai aimé en savoir +
Au plaisir de te lire.
A + |
| |
| |
| | | |
|
| | | | |
| | |
|