我想将gridview数据转换为数据表。但是我的gridview有很多数据,并且页面输入也是如此。我应该编写这段代码(在这段代码中我首先加载所有数据而不分页):
Cgv.PageIndex = 0;
Cgv.AllowPaging = false;
Cgv.DataBind();
然后
for (int num = 0; num < Cgv.Rows.Count; num++)
{
dr = dt.NewRow();
....//generate data table
}
我的数据很多, Cgv.DataBind()需要时间,最后我收到错误。
答案 0 :(得分:0)
DataTable dt = new DataTable();
for (int i = 0; i < GridView1.Columns.Count; i++)
{
dt.Columns.Add("column"+i.ToString());
}
foreach (GridViewRow row in GridView1.Rows)
{
DataRow dr = dt.NewRow();
for(int j = 0;j<GridView1.Columns.Count;j++)
{
dr["column" + j.ToString()] = row.Cells[j].Text;
}
dt.Rows.Add(dr);
}
请尝试此代码