我已经浏览了此类问题的其他答案,到目前为止,没有什么真正有效的。
我有一个 foreach
循环,该循环应将源 datagridview
中的行添加到目标 datagridview
,然后从源中删除该行。
无效操作异常为:提供的行已属于 DataGridView 控件。
我也无法让 ...Rows.Copy()
工作。有什么想法吗?
foreach (DataGridViewRow selRow in fromDataGridView.SelectedRows)
{
toDataGridView.Rows.Add(selRow);
fromDataGridView.Rows.Remove(selRow);
}
最佳答案
您需要先从 fromDataGridView
中删除该行,然后再将其添加到 toDataGridView
。
但是您正在 foreach
循环内修改集合 - 这是行不通的。
解决方法是复制该集合以在 foreach
中使用。
试试这个:
foreach (DataGridViewRow selRow in fromDataGridView.SelectedRows.OfType<DataGridViewRow>().ToArray())
{
fromDataGridView.Rows.Remove(selRow);
toDataGridView.Rows.Add(selRow);
}
关于c# - 将 datagridview 行 move 到另一个 datagridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9265165/