我在寫一個應用程序,我從數據庫加載兩個DataGridViews。我已經使用dataAdapter.Fill(DataSet)成功完成了這個任務,但是我遇到的問題是來自DB的數據有數以萬計的記錄。第一次跑時速度非常慢(太慢,約7分鐘)。下次運行時間更合理(約35秒)。所以我想我會嘗試另一種方法:用數據加載一個二維陣列列表,然後將其傳遞到datagridviews中。本來我以爲這是一個快速測試,看看時間的增加,但如果有的話,它已經證明比我想象的更困難。以下是我有:使用二維數組加載DataGridView時出現的問題
while(dr.Read())
{
for (int l = 0; b && l <= dr.FieldCount-1; l++)
{
DataGridViewColumn column = new DataGridViewColumn();
column.CellTemplate = cellTemplate;
column.FillWeight = 1;
column.Name = dr.GetName(l);
dgv.Columns.Add(column);
}
b = false;
for (int i = 0; i <= dr.FieldCount - 1; i++)
{
row.Add(dr.GetValue(i));
}
table.Add(row);
row = new System.Collections.ArrayList();
}
dgv.DataSource = table;
注意,我將創建一個類來構建的數據(每列數據成員,但該列可能會改變),因此ArrayList的想法。 datagridview最終具有正確的列,正確的名稱以及正確的數字或行,但行全部爲空,並且添加了與arrayList結構相關的其他列。我究竟做錯了什麼?有沒有更好的辦法?任何幫助/反饋將不勝感激! :-)
感謝,
本