我想问一下从数据集填充datagrid的更快方法。我正在处理大量数据(大约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 :(得分:1)
第一种方法应该没问题我相信MS在数据绑定中做得很好,你自己的循环也不会更快。是加载数据或绑定到网格的延迟?如果你有太多的行你应该页面,因为一次显示数千行是没有意义的。
答案 1 :(得分:0)
确定大部分时间的线路。它可能 是这一行 -
objDataSet = objMemberShip.mtdMemberViewBy(strGlobalUserID,0,“”,ref intErrNo);
可能是一个可能在数据库中调用过程的服务调用。延迟也可以在程序级别。