【问题标题】:How to store data grid into datatable?如何将数据网格存储到数据表中?
【发布时间】:2014-02-15 03:24:13
【问题描述】:

我需要将 datagridview 选定的行存储到数据表中的单列中,如下所示

数据网格视图

user1 user2 user3
ram   sam   ravi

数据表

values
ram
sam
ravi

我试过下面的代码

DataTable dt = new DataTable();
dt.Columns.Add("values",typeof(string));

foreach (DataGridViewRow gridRow in dataGridView_settings.Rows)
{
      DataRow dtRow = dt.NewRow();

      for (int i = 0; i < dataGridView_settings.Columns.Count; i++)
      {
          dtRow[0] = gridRow.Cells[i].Value;
          dt.Rows.Add(dtRow);
      }
}

问题是它在数据表中只添加了一行然后显示错误“该行已经属于该表。”

【问题讨论】:

标签: c# datagridview datatable


【解决方案1】:

您应该将 DataRow 创建移动到内部

DataTable dt = new DataTable();
dt.Columns.Add("values",typeof(string));
foreach (DataGridViewRow gridRow in dataGridView_settings.Rows)
{
      for (int i = 0; i < dataGridView_settings.Columns.Count; i++)
      {
          DataRow dtRow = dt.NewRow();
          dtRow[0] = gridRow.Cells[i].Value;
          dt.Rows.Add(dtRow);
      }
}

【讨论】:

  • 它将所有行插入数据表。如何只做选定的行
  • 如果只想添加选中的行,改变外层foreach,按SelectedRows改变Rows:foreach(DataGridViewRow gridRow in dataGridView_settings.SelectedRows)
猜你喜欢
  • 2013-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
相关资源
最近更新 更多