Deux choses. Chaque fois que vous changez la valeur, cela pourrait le faire DataGridView de mettre à jour, donc juste avant votre boucle, ajouter
DgvItemList.SuspendLayout
et après la boucle, ajouter
DgvItemList.ResumeLayout
Vous pouvez également changer la boucle à un Parallel.For boucle, de sorte que votre code final serait quelque chose comme
DgvItemList.SuspendLayout
Parallel.For(0, DgvItemList.Rows.Count, Sub(index As Integer)
DgvItemList.Rows(index).Cells("strSrNo").Value = DgvItemList.Rows(index).Index + 1
End Sub)
DgvItemList.ResumeLayout
Essayez avec juste la mise en page Suspension et reprise en premier. Vous ne pouvez pas obtenir une grande quantité d'amélioration de la parallélisation. Cela vaut la peine d'y aller.
https://stackoverflow.com/questions/5817632/beginupdate-endupdate-for-datagridview-request, peut-être? Cependant, les messages Windows le rendent spécifique à Windows. – Ryan
comment faire ceci? – Bhoomi
Qu'essayez-vous réellement de faire? Comme dans: * pourquoi * avez-vous besoin d'affecter ce qui ressemble à une sorte de numéro de série à des données qui sont déjà dans la grille? EDIT: aussi, votre grille est-elle liée à un DataTable ou à quelque chose? –