Changement de styles dynamiquement dans un datagridview

Signaler
Messages postés
29
Date d'inscription
lundi 13 mai 2002
Statut
Membre
Dernière intervention
22 mars 2013
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
37
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
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
37
PAINT
peindre ^^
Messages postés
29
Date d'inscription
lundi 13 mai 2002
Statut
Membre
Dernière intervention
22 mars 2013

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-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
37
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
Messages postés
29
Date d'inscription
lundi 13 mai 2002
Statut
Membre
Dernière intervention
22 mars 2013

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-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
37
je serai assez tenté de dire çà oui, mais sans preuve tangible ^^