我正在尝试将 GridView
保存到 DataTable
。
我有理论上应该这样做的代码,但我一直收到这个错误:
Column 0 doesn't exist
这是我的代码:
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
for (int j = 0; j < GridView1.Rows.Count; j++)
{
DataRow dr;
GridViewRow row = GridView1.Rows[j];
dr = dt.NewRow();
for (int i = 0; i < row.Cells.Count; i++)
{
dr[i] = row.Cells[i].Text;
}
dt.Rows.Add(dr);
}
}
关于如何解决这个问题的任何帮助?
最佳答案
你可以这样做:
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);
}
这将表明它有效。
GridView6.DataSource = dt;
GridView6.DataBind();
关于c# - 将 GridView 数据放入 DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16466487/