【问题标题】:ArgumentException when adding rows from DataGridView to DataTable将行从 DataGridView 添加到 DataTable 时出现 ArgumentException
【发布时间】:2015-07-04 06:17:59
【问题描述】:

我是 C# 编程的新手。我想将用户输入从 DataGridView 带到 DataTable。但是,我从这段代码中得到了 ArgumentException

DataTable dd=new DataTable();
       foreach (DataGridViewRow dr in dataGridView1.Rows)
       {
           dd.Rows.Add(dr);
       }

有什么办法可以解决吗?我也希望有其他方法可以从dataGridView1 获得输入。
编辑:忘了提,dataGridView1 有一个组合框列。
edit2:错误读取“输入数组长于此表中的列数。”

【问题讨论】:

    标签: c# datagridview datatable


    【解决方案1】:

    输入数组长于该表的列数。

    您必须先向DataTable 添加一列,例如:dd.Columns.Add("SomeColumnName"),然后才能向其中添加行。

    但是,如果对使用 DataTable 没有特殊要求,那么您应该使用,例如,List 来存储行。这是一个更简单的数据结构。

    var listOfRows = gridView.Rows.Cast<DataGridViewRow>().ToList();
    

    【讨论】:

    • 啊,我忘了说我会操纵数据以另一种形式再次显示,所以我想我需要DataTable。但是感谢您指出我的错误!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多