如何将DataGridView中的选定项目作为DataTable获取?

时间:2010-12-22 22:02:17

标签: c# sql

我有一个DataGridView,它从数据库获取值。现在我想打印出用户从UI中选择的所选项目。如果用户想要在DataGridView中打印整个表,我就会这样做:

  

var dataTable = dataGridView1.DataSource as DataTable;

现在我正在尝试在DataGridView中使用SelectedCells属性。不能得到它: - (

  
    

var selecteditems = dataGridView1.SelectedCells as DataTable;

  

我在这里做错了什么?我想要的只是将我选择的单元格放入DataTable中。

2 个答案:

答案 0 :(得分:0)

不幸的是,DataGridView.SelectedCells会返回一个集合,而不是DataTable。

如果要将输出作为DataTable,则可以克隆表的结构。然后,遍历SelectedCells集合。

类似的东西:

DataTable selected = dataTable.Clone();
for (int i = 0; i < dataGridView.SelectedCells.Count; i++)
{
     DataRow newRow = selected.NewRow();
     // may have to format below value
     datarow["column"] = dataGridView.SelectedCells[i];
     selected.Rows.Add(newRow);
}

答案 1 :(得分:0)

不应该是第二个最后一行:

newRow [“column”] = dataGridView.Selected Cells [up>