将网格视图转换为数据表

时间:2016-12-04 07:48:18

标签: c# c#-4.0

我想将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()需要时间,最后我收到错误。

1 个答案:

答案 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);
    }

请尝试此代码