c# - 将 datagridview 行 move 到另一个 datagridView

标签 c# datagridview move

我已经浏览了此类问题的其他答案,到目前为止,没有什么真正有效的。

我有一个 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/

相关文章:

c# - C#winform-如何删除多个DataGridViewRows

c# - 删除 DataGridView(表)中的多行

svn - 无需 checkout 即可在存储库中 move SVN 项目

javascript - 蛇形运动javascript

c# - 如何对 KeyedCollection<TKey, TItem> 进行排序?

c# - UserStore 每个 HttpRequest 的 Unity IoC 生命周期

mysql - 将 Gridview 列编辑到 MySQL

c++ - 编译器调用复制运算符而不是 move 运算符

c# - 执行用户创建的 SQL 查询

c# - 将具体类型转换为泛型类型?