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
هنگام پر کردن 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