将值从一个 DataGridView 复制到另一个

Posted

技术标签:

【中文标题】将值从一个 DataGridView 复制到另一个【英文标题】:Copying values from one DataGridView to another 【发布时间】:2013-10-07 18:59:12 【问题描述】:

我正在开发一个 C# 应用程序,其中一个组件由一个带有 2 个 DataGridView 对象的表单组成。我想在数据网格视图的双击事件处理程序中触发一个事件,它将两个值从左侧 DGV 复制到右侧 DGV。左边的只有 2 个字段,右边的有 4 个字段。我在复制过程中苦苦挣扎。此图将说明情况。(我使用的是 MS - Access 数据库)

最简单的方法是什么?

【问题讨论】:

目标表中“出席”和“借口”的值应该是什么? 就是这样,复制过程只是在右侧DGV设置会员名称和编号,用户应输入其余字段runtime 对,但是在用户更新它们之前,这些字段应该取什么值?假设 Access 表允许,它应该为 NULL 吗? 如果参数相同,我会在同一个事件中更新两者。如果它们位于两个单独的数据库中,则只需对每个数据库进行两次 ADO 调用并分别更新它们。 【参考方案1】:

由于您使用的是数据源,因此您无法直接编辑 DGV 项目。您必须将新行添加到数据库中的“会话”表中。然后 DGV 应更新自身以反映表中的新数据(或者您可能必须对其调用 Refresh())。

编辑:尝试这样的事情:

    private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    
        Member a = (Member) dataGridView1.Rows[e.RowIndex].DataBoundItem;
        Session b;
        //do something to create b from a
        tableSessions.Add(b);                      
    

【讨论】:

我有一个想法,这就是解决方案所需要的,但现在问题仍然存在:我可以在右侧 DGV 中输入值并简单地使用数据适配器的更新方法来设置值在我的 ms-access 表中,但我仍然想知道如何将值从一个 DGV 复制到另一个,以节省在右侧 DGV 上输入值的时间 让我更正一下:您可以直接编辑 DGV 中的值,只是不能直接添加行。不过,我不确定您要做什么,您是要从左侧 DGV 向右添加一行,还是修改右侧的其中一行? 这是我想做的:我只需要一个 DGV,即会话,用户在其中建立 n 个会话。在这样的会话中有多个条目,每个条目包含 4 个字段。我想要的是腾出时间并有能力从成员列表(左 DGV)中进行选择,以帮助用户在他所做的每个新条目中获得初始值。示例我双击带有名称和会员编号的左侧 DGV 行并将其复制到右侧 DGV,现在用户只有 2 个字段要输入而不是 4 个。

以上是关于将值从一个 DataGridView 复制到另一个的主要内容,如果未能解决你的问题,请参考以下文章

将值从一个表单复制到另一个表单

通过使用 java 脚本,我如何将值从一个 html 页面传递到另一个 html 页面? [复制]

如何将值从一个php页面传递到另一个? [复制]

如何将值从一个活动中的片段传递到另一个活动? [复制]

将值从一个数据帧切片复制到另一个:使用“IndexSlice”的多索引熊猫数据帧的切片是不是总是一致地排序?

Pandas 根据非恒定值的第三列将值从一列复制到另一列