c# - 将 GridView 数据放入 DataTable

标签 c# asp.net gridview datatable

我正在尝试将 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/

相关文章:

c# - 如何从 asp :BoundField? 获取 GridView 值

c# - Outlook 中 "Item Sent"上的事件

c# - Mvc RenderAction 性能与 RenderPartial

c# - UNC 路径不适用于空格

c# - 上传文件时插入数据库

c# - MySQL 查询和 C# 中的多重串联

c# - 在 c# asp.net 中登录后禁用 Web 浏览器后退按钮

c# - 带格式的评估堆栈跟踪

c# - 从数据表中删除重复项的最佳方法是什么?

html - Datagridview 标题高度在运行时发生变化如何解决?