Changement de styles dynamiquement dans un datagridview

cs_Jaxom Messages postés 29 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 22 mars 2013 - 24 juin 2008 à 11:03
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 24 juin 2008 à 16:48
Bonjour,

Dans mon programme j'ai un formulaire avec un datagridview qui permet à l'utilisateur d'encoder des commandes.

Le client me demande de mettre en couleur les cellules encodées.

Bref, j'ai fait ceci:

If DataGridView1.CurrentRow.Cells(
"Nombre").Value = 0
Then
   DataGridView1.CurrentRow.Cells(
"Nombre").Style.BackColor =
My.Settings.couleur_Texte   
   DataGridView1.CurrentRow.Cells(
"DI").Style.ForeColor =
My.Settings.couleur_Texte

Else
   DataGridView1.CurrentRow.Cells(
"Nombre").Style.BackColor =
My.Settings.Couleur_Surbrillance
   DataGridView1.CurrentRow.Cells(
"DI").Style.ForeColor =
My.Settings.Couleur_Surbrillance

End
Ifsur le principe ça fonctionne très bien MAIS la vitesse d'exécution de l'application chute de manière vertigineuse...

Quelqu'un pourrait me dire s'il y a moyen de faire la même chose sans faire râmer le machin et être obligé de changer de CPU ?

Merci d'avance
-Perdu dans les méandres de la création virtuelle-

6 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juin 2008 à 15:33
salut,
tu fais ce refresh sur quel évènement?

çà change quelquechose de la passer en invisible, de "paindre", et de ré-afficher? (selon l'évènement)

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juin 2008 à 15:34
PAINT
peindre ^^
0
cs_Jaxom Messages postés 29 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 22 mars 2013
24 juin 2008 à 16:20
En fait, j'ai essayé avec l'évènement cellformating comme conseillé par nos amis de msdn

J'ai essayé aussi de l'inclure dans le cellendedit. Même combat.

Avant d'inclure le changement de couleur la mise à jour du tabeau était instantanée; en ajoutant ces 3 minuscules lignes j'ai un décalage d'environ 1 a 1,5 sec ce qui n'est pas acceptable pour un encodeur.
-Perdu dans les méandres de la création virtuelle-
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juin 2008 à 16:26
par curiosité, as-tu essayé avec un autre composant que le DGView?
il est surtout fait pour l'accès BDD et peut être lourd pour ce genre de manipulations

ma proposition n'est pas "fait avec autre chose" mais déjà de voir si c'est pareil ailleurs, comme une listview par exemple. au moins pour être fixé

je peux faire quelques tests sous VB6 dans la soirée si besoin
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jaxom Messages postés 29 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 22 mars 2013
24 juin 2008 à 16:35
Euh, non je suis parti avec des Dgview pour l'acces au sql et puis quand j'ai dû créer des tableaux sans liaison j'ai continué sur ma lancée.

Et en dehors de cette question-ci je n'ai pas vraiment remarqué de lenteur particulière.

Cela dit, sans même avoir essayé, je pense aussi que notre ami dgview doit être plus lourd que son petit copain listview; mais bon, j'ai pas envie de tout changer, hein.

Je me demandais juste si c'est moi qui ai codé ça comme un navet ou si de fait "c'est lent, pleure et tant pis pour moi" ^^
-Perdu dans les méandres de la création virtuelle-
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juin 2008 à 16:48
je serai assez tenté de dire çà oui, mais sans preuve tangible ^^
0
Rejoignez-nous