Bonjour,
Comme le titre l'induque, j'ai un problème avec un datagridview que je fais fonctionner en virtualmode.
Le datagridview est allimenté par une vue, et les données transmisent par une fonction qui est appelée sur l'évennement OnCellValueNeeded, qui ressemble à ça
Jusque là rien de bien méchant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
Par contre, le problème arrive lorsque je raffraichit ma vue (ou la table qui l'alimente). Ma méthode de mise à jour des données ressemble à ça :
Et mon problème arrive sur la dernière ligne : J'ai à ce moment là un appel à MonDGV_CellValueNeeded qui se produit pour CHAQUE ligne du datagridview (et pas seulement pour les lignes visibles).
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
Ce qui, bien sur, à tendance à être lent, voir très lent quand la view présente 5000 lignes (cas extrème pour les tests).
Et surtout, je perds tout l'avantage de l'utilisation du virtualmode!
J'ai essayé d'encadrer mon code avec des MonDGV.SuspendLayout() et MonDGV.ResumeLayout(), mais ça ne change rien... D'ailleurs, j'ai toujours pas compris dans quel cas ces fonctions servent à quelque chose!
Des idées ?

 

 
		
		 
         
 

 
			
			

 
   


 Problème datagridview virtualmode
 Problème datagridview virtualmode
				 Répondre avec citation
  Répondre avec citation
Partager