服務熱線
153 8323 9821
有時候需要把dataset其中一個表的內容讀取到DataRow,之后再復制到新的datatable應用。下面是實現的代碼:
DataRow[]轉換成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ā)現時間在5S,郁悶呀。
檢查代碼,發(fā)現添加記錄的DataTable一直綁定在一個DataGrid,
改了代碼:
this.DataGrid1.DataSource = null;
for(int i = 0;i<dt.Rows.Count;i++)
{
newdt.ImportRow(dt.Rows[i]);
}
this.DataGrid1.DataSource = newdt;
速度重新快了