0
背景:我有任意查詢被執行,然後我抓取數據 - 數組的記錄=對象數組。我想用DataGrid查看它們。如何加快WPF DataGrid?
問題:它不覺得應用程序足夠響應。從查詢切換到查詢速度很慢,切換需要大約1-2秒,並且只有約20條記錄要顯示!我想立即開關,你點擊「下一個查詢」,你就可以馬上得到結果。
代碼:
// defining colums for a grid
grid.Columns.Clear();
int i = 0;
foreach (var db_col in query.Names) // names of the colums
{
var col = new DataGridTextColumn();
col.Header = db_col;
col.Binding = new Binding(String.Format("Data[{0}]",i));
grid.Columns.Add(col);
++i;
}
// adding rows to grid -- the culprit
grid.Items.Clear();
foreach (var db_row in query.Rows)
{
var row = new DataGridRow();
row.Item = db_row;
grid.Items.Add(row);
}
我看不出有什麼我可以另一種方式 - 我遍歷行和我通過一個將它們添加一個。行已經在內存中,此時沒有數據庫通信。我如何知道這一點(添加行)是減速的原因?很簡單,我評論這一點,應用程序變得很快。
我的盒子:Windows 7旗艦版32位,CPU Intel Core2Duo 2.66GHz,2GB RAM。
謝謝,我現在做了,但仍然 - 滯後可見。 – greenoldman 2010-07-06 09:45:26