Datagrid et formatage à partir d'un DataSource

Signaler
Messages postés
72
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 mai 2009
-
Messages postés
72
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 mai 2009
-
Bonjour,

J'ai un problème pour mettre en forme mes datagridview.

Au démarrage de l application, je remplis mon datagridview avec un DataTable provenant d'une reponse SQL.
J'ai donc un code du style : datagridview1.DataSource = maDataTable;
Le controle se remplit bien.

Le problème arrive quand j applique un formatage de mes entrées.
En gros sur la ligne x j'applique une couleur, et a la ligne y une autre couleur.

Si j'applique mon "theme" quand le composant datagridview est affiché à l'ecran, aucun probleme ca marche bien. Mais si j'applique mon theme alors que le datagrid n'est pas visible, et bien il est rempli (de ma datatable), mais aucun style ne s'y applique.
Le programme passe pourtant bien dans la fonction.

J'ai donc fait 2 tests :
1 - Le datagrid est remplit, il est visible a l ecran, je clic sur un bouton qui appelle la fonction de formatage. => Ca marche
2 - mon formulaire dispose de 2 onglets, onglet 1 un bouton, onglet 2 le datagrid. Je clic sur le bouton pour remplir + formater le datagrid ( datagrid non visible), je change d'onglet => datagrid bien rempli mais pas de formatage.

Comment faire ?
J'ai vu qu on pouvais appliquer un dataStyle ou un truc du genre.
Si je remplis  mon datagrid ligne par ligne : datagrid.Rows.Add(maligne) et que j applique le formatage, ca marche. Mais c'est bien trop long (j ai 50 000 lignes).

J'espere avoir été assez clair dans mes explications.

Merci

1 réponse

Messages postés
72
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 mai 2009

Je viens de faire d'autres tests, comme la suppression de certaines lignes dans la DataTable puis je la bind a mon datagrid.et bien si le datagrid n'est pas visible, aucun changement n'apparait.
Je ne comprends pas trop la ....

je refresh le composant, mais rien.