我尝试将所选行导入DataTable以将其发送到函数。我按照代码:
转到按钮Clickeventvar dt = new DataTable();
foreach (var DataRow in dataGridView1.SelectedRows)
dt.ImportRow(DataRow);
但是有一个错误,无法从对象转换为DataRow。有什么建议可以解决这个问题吗?
答案 0 :(得分:4)
您无法使用ImportRow
,因为它需要DataRow
。 DataGridView.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。