2011-10-27 73 views
0

我想問一個從數據集填充數據網格的更快方法。我正在處理大量的數據(大約8000行)。我正在使用C#.net。我有兩個版本的代碼(下面),他們都花了差不多一分鐘的時間完成數據加載。從數據集中填充數據網格

// First Code 
DataSet objDataSet = new DataSet(); 
objDataSet = objMemberShip.mtdMemberViewBy(strGlobalUserID, 0, "", ref intErrNo); 
datagrid1.DataSource = objDataSet.Tables[0]; 

// Second Code 
objDataSet = objMemberShip.mtdMemberViewBy(strGlobalUserID, 0, "", ref intErrNo); 

datagrid1.Rows.Clear(); 
for (int intCount = 0; intCount <= objDataSet.Tables[0].Rows.Count - 1; intCount++) 
{ 
    string[] strRow = new string[] { objDataSet.Tables[0].Rows[intCount] ["trTranId"].ToString(), objDataSet.Tables[0].Rows[intCount]["strCEMCode"].ToString(), 
            objDataSet.Tables[0].Rows[intCount]["strName"].ToString(), objDataSet.Tables[0].Rows[intCount]["strAddress"].ToString(), 
            objDataSet.Tables[0].Rows[intCount]["strTestCenterId"].ToString(), objDataSet.Tables[0].Rows[intCount]["TCr_Name"].ToString(), 
            objDataSet.Tables[0].Rows[intCount]["strMemberId"].ToString(), objDataSet.Tables[0].Rows[intCount]["TCr_GL_Code"].ToString()}; 
      datagrid1.Rows.Add(strRow); 

} 
+0

您是使用WinForms還是WPF?在gridview中啓用分組? – Fischermaen

+0

我使用WinForms – marai

+0

如果兩者都需要大致相同的時間;與第一個去。我不認爲有另一種選擇。 – Icarus

回答

1

第一種方法應該沒問題,我相信微軟已經在數據綁定中做了正確的事情,而且你自己的循環不會更快。是加載數據還是綁定到網格的延遲?如果你有太多的行,你應該頁面,因爲沒有意義,一次顯示成千上萬的行。

+0

感謝您的回覆。 – marai

0

並確定大部分時間被採取的線。它可能可能是 是這一行 -

objDataSet = objMemberShip.mtdMemberViewBy(strGlobalUserID,0,「」,ref intErrNo);

可能是一個服務調用,可能會調用數據庫上的過程。延遲也可以在程序級別。

+0

感謝您的回覆。 – marai