服務(wù)熱線
153 8323 9821
有時候需要把dataset其中一個表的內(nèi)容讀取到DataRow,之后再復(fù)制到新的datatable應(yīng)用。下面是實現(xiàn)的代碼:
DataRow[]轉(zhuǎn)換成DataTable的方法:
DataTable dt=new DataTable();
DataRow[] dr=new DataRow();
dr=GetChildRows(...);
for(int i=0;i<dr.Length;i++)
{
dt.ImportRow(dr[i]);
}
dg.DataSource=dt;
dg.DataBind();
向一個DataTable批量添加DataRow時有兩種辦法:
DataTable dt;
DataTable newdt;
for(int i = 0;i<dt.Rows.Count;i++)
{
newdt.Rows.Add(dt.Rows[i].ItemArray);
}
或
for(int i = 0;i<dt.Rows.Count;i++)
{
newdt.ImportRow(dt.Rows[i]);
}
兩種方式速度很快,200條記錄,50ms左右。
但是今天,在實際開發(fā)中發(fā)現(xiàn)時間在5S,郁悶呀。
檢查代碼,發(fā)現(xiàn)添加記錄的DataTable一直綁定在一個DataGrid,
改了代碼:
this.DataGrid1.DataSource = null;
for(int i = 0;i<dt.Rows.Count;i++)
{
newdt.ImportRow(dt.Rows[i]);
}
this.DataGrid1.DataSource = newdt;
速度重新快了
文章來自學(xué)IT網(wǎng):http://www.xueit.com/html/2009-08/21_4286_00.html