如何将数据网格存储到DataTable中



我需要将dataGridView选定的行存储到单列中,如下图

datagridview

user1 user2 user3
ram   sam   ravi

DataTable

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

问题是它在数据表中仅添加一行,然后显示错误"此行已经属于此表。"

您应该将数据工具创建到内部

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

最新更新