PDA

View Full Version : پر کردن datagridview با داده های بالای 10000 رکورد



panish
چهارشنبه 09 تیر 1389, 12:58 عصر
می خوام یک datagridview را با تعدادی زیادی رکورد مثلا بالای 10000 رکورد پر کنم.حالا مشکل:
هنگام پر کردن datagrid صفحه فرم فریز می شه و فرم برا چند لحظه قفل می کنه.من از backgroundworker استفاده کردم اما همچنان فرم فریز می شه.
کسی ایده ای برای حل مشکل فریز شدن داره؟
اینم تکه کدی از برنامم.


Public Class Form3
Private Delegate Sub FillData()
Private myfill As FillData
Private Sub BackgroundWorker1_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
BeginInvoke(myfill)
End Sub

Sub fill()
DataGridView1.DataSource = CSC.DataBind("select * from pos")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
myfill = New FillData(AddressOf fill)
BackgroundWorker1.RunWorkerAsync()
End Sub

End Class

mpg_of_shb
چهارشنبه 23 تیر 1389, 10:37 صبح
از my.app.doevent استفاده کن 4 بار

behrangmusic
چهارشنبه 23 تیر 1389, 12:12 عصر
سلام
برای رفع مشکل فریز باید از یک متد برنامه نویسی به نام آسنکرونایز پروگرمینگ استفاده کنی
که تو قسمت ado.net همین سایت هست.