Bonjour,
J'ai de gros problèmes de performance avec DataGridView. J'ai un tableau de 5000 à 15000 lignes, si je réduis les données aucun souci.
Mon DataGridView.DataSource est un BindingSource et le BindingSource est lié à une BindingList.
Mon problème apparait à la modification d'une cellule, après click sur entrée ou click sur une autre cellule, il se passe de 2 à 4 secondes en fonction de la machine.
Après nombreux tests j'ai repéré que le gros du temps était entre CellParsing et CellValidated.
Cependant la méthode CellParsing n'est pas en cause car quand je la surcharge (aucun traitement) il se passe toujours autant de temps avant d'arriver à CellValidated.
J'ai également récupéré l'évènement OnCellValidating : J'ai remarqué que lorsque je remplis DataGridView[][].Value le traitement est très long à ce moment (points d'arrêt) tandis que si je remplis ma BindingList je sors immédiatement de ma méthode et la lenteur est après la méthode (je ne trouve pas où).
Le problème vient-il d'un temps très long pour faire le lien entre la BindingList et le tableau (est-ce que tout est vérifé ?) ou est ce un rafraichissement du tableau ?
Quelles solutions ?
Merci d'avance.
Partager