在DataTable中导入DataRow

时间:2011-03-14 11:26:13

标签: c# .net visual-studio datatable datarow

我尝试将所选行导入DataTable以将其发送到函数。我按照代码:

转到按钮Clickevent
var dt = new DataTable();
foreach (var DataRow in dataGridView1.SelectedRows)
  dt.ImportRow(DataRow);

但是有一个错误,无法从对象转换为DataRow。有什么建议可以解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

您无法使用ImportRow,因为它需要DataRowDataGridView.SelectedRows将返回DataGridViewRow的集合。

DataGridViewRow a DataRow。但是,您可以使用DataGridViewRow的{​​{3}}属性来获取实际的DataRow

foreach (DataGridViewRow dataRow in dataGridView1.SelectedRows)
{
    DataRow dataBoundItem = ((DataRowView)dataRow.DataBoundItem).Row;
    dt.ImportRow(dataBoundItem);
}

答案 1 :(得分:2)

DataTable.ImportRow需要DataRow。但是,您的datagridview1包含DataGridViewRows。您需要找到在两者之间转换(example)的方法,或者从DataGridViewRow的数据构建新的DataRow。