DAtaGridView et longueur des chaines de caractères [Résolu]

Messages postés
45
Date d'inscription
mercredi 26 septembre 2007
Dernière intervention
14 août 2014
- - Dernière réponse : debutemps
Messages postés
34
Date d'inscription
jeudi 7 juin 2012
Dernière intervention
14 juin 2012
- 9 juin 2012 à 09:28
Salut à tous,
Je bloque sur un truc bête et je n'arrive pas à formuler ma recherche sur google. Je voudrais pour chaque colonne de mon datagridview connaitre la longueur de la plus longue chaine de caractere.
Si vous avez des idées, se serait trop top! Merci d'avance

Nico
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
3
Merci
Bonjour,
Si ton datagridview est lié à une base de données, la plus grande chaîne potentielle est celle du champ dont la longueur "réservée" est la plus grande.
Ce qui n'en fait bien évidemment pas la plus grande chaîne effective puisque tu peux très bien avoir réservé 20 caractères pour le champ toto et 30 pour le champ titi, tout en ayant un champ toto plein et aucun champ titi de plus de 16 caractères, par exemple.
Dans de telles conditions, il est clair que la plus longue chaîne effective ne peut être connu qu'après poarcours de la totalité des champs de ta table (boucle assez lourde, donc).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Merci ucfoutu 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
J'ajoute ceci, à ne pas perdre de vue :
La longueur logique d'une chaîne de caractère est le nombre des caractères qu'elle contient.
La longueur graphique d'une chaîne de caractères est autre chose et dépend : de la police (nom,taille,style), mais également du texte lui-même lorsque police autre qu'à échappement fixe.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Exemple :
1) avec la police courier en taille 12 === "iiiiii" occupe 54 pixels et "MMMMMM" égalemùent 24 pixels
2) toujours en taille 12, mais avec la police "A1rial" "iiiiii" occupe 24 pixels alors que "MMMMMM" en occupe ... 78 ! La différence est E N O O O R M E .


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Correction : en 1) : 54 dans les deux cas (erreur de frappe).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
0
Merci
Bonjour,

Ma boule de cristal me dit que tu essaies de dimensionner les colonnes de ton DGV en fonction de la longueur du texte.

Tu devrais jeter un oeil dans l'aide de VB.net dans la rubrique Datagridview, Classe. Il y a une propriété (DatagridviewColumn ou DatagridviewColomnHeader, je pense) qui permet de déterminer la largeur de la colonne. Il y a, si mes souvenirs sont exacts, trois choix. Un de ces choix est l'ajustement automatique selon la longueur du texte.
Commenter la réponse de Utilisateur anonyme
Messages postés
45
Date d'inscription
mercredi 26 septembre 2007
Dernière intervention
14 août 2014
0
Merci
Merci beaucoup pour votre rapidité!!
Comme je le pensais, faut que je boucle . Ne connaissant pas toute les fonctions je pensait trouver un "raccourci" mais bon. Sinon je sais bien que la police influe sur la longueur mais mon but est de trouver la longueur de la chaine la plus grande en centieme de pouce avec une police et une taille donné. (pour une impression).
Merci encore de vos réponses

Nico
Commenter la réponse de homer73
0
Merci
Bonjour,

Si tu veux imprimer un Datagridview, il y a des programmes et des contrôles tout faits par là.
Commenter la réponse de Utilisateur anonyme
Messages postés
34
Date d'inscription
jeudi 7 juin 2012
Dernière intervention
14 juin 2012
0
Merci
Bonjour,
petite rectification sur l'explication de ucfoutu, il parle de type de champs d'une base de données. l'explication est vraie pour les vieilles bases de données qui utilisaient un type char (n). Pour lequel il fallait spécifier une longueur. le type varchar a été introduit, il n'a pas de longueur prédifinie.
l'argument sql serait du genre
max(len(colonne)) from table
et renverrait le row qui contient la colonne dont la longueur est la plus grande

Lydie
Commenter la réponse de debutemps

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.