我正在使用從數據源綁定數據的DataGrid(.NET 1.1),該數據源獲取將近3000行和25列。由於數據量大,將數據加載到datagrid需要大約3分鐘的時間。我想首先加載50條記錄,然後接下來的50,然後在下一個50 ...等等...在DataGrid上加載數據
我怎樣才能做到這一點?我試着使用分頁選項,但它加載整個記錄..
有什麼建議嗎?
我正在使用從數據源綁定數據的DataGrid(.NET 1.1),該數據源獲取將近3000行和25列。由於數據量大,將數據加載到datagrid需要大約3分鐘的時間。我想首先加載50條記錄,然後接下來的50,然後在下一個50 ...等等...在DataGrid上加載數據
我怎樣才能做到這一點?我試着使用分頁選項,但它加載整個記錄..
有什麼建議嗎?
這是您正在尋找的功能嗎?
Me.DataGrid1.DataSource = DataRange(5, 25, DataSet1.Tables(0))
。
Private Function DataRange(ByVal Min As Integer, ByVal Max As Integer, ByRef SourceTable As DataTable) As DataTable
Dim TempTable As DataTable = SourceTable.Clone
If Max > SourceTable.Rows.Count Then
Max = SourceTable.Rows.Count
End If
For i As Integer = (Min - 1) To (Max - 1)
TempTable.ImportRow(SourceTable.Rows(i))
Next
Return TempTable
End Function
隨着反編譯說,確保緩慢是不是在您的查詢。
不是真的.....我正在尋找一些將動態加載50行先行,然後是50行...有沒有什麼辦法可以實現自定義分頁? – msbyuva 2010-02-11 23:06:00
您是否試圖從數據庫一次加載50行到數據集或每次加載50行從數據集到形成?這是Winforms還是ASP.NET?在上面的評論中,您提到了填充來自4個不同查詢的列。你能給這個代碼的樣本嗎?你爲什麼不加入數據庫中的所有數據? – bluecoder 2010-02-12 00:43:42
我是從不同的數據庫查詢和這些值的條件彼此不同...我使用ASP.NET ..我想從數據庫加載到數據集.. – msbyuva 2010-02-12 01:07:16
您是否檢查查詢的性能?只要確保! – decompiled 2010-02-11 20:29:19
嗨實際上,我從4個查詢中獲取數據源的值。每個查詢都會將數據提取到某些特定的列中...我已經看到這些查詢執行得很好 – msbyuva 2010-02-11 21:13:00