【问题标题】:Sending items in a datagrid on form 1 to another datagrid on form 2将表单 1 上的数据网格中的项目发送到表单 2 上的另一个数据网格
【发布时间】:2017-04-10 17:11:29
【问题描述】:

我有两个 datagridview 的 DGV1,它在表单 1 中,在表单 1 上我还有一个“下一步”按钮,当单击该按钮时,我希望 DGV1 中的项目集合自动转移到 Form2 中的 DGV2。 任何帮助都会很棒 谢谢

【问题讨论】:

  • 您想分享任何代码吗?你试过什么?
  • 目前您的 DGV 中有哪些内容?它们是否绑定到数据表?
  • 只需使用相同的数据源...这就引出了为什么您需要第二个表单的问题。

标签: vb.net datagridview


【解决方案1】:

扩展 Plutonix 的建议,您希望按照以下方式做一些事情:

Private Sub btn_Next_Click(sender As Object, e As EventArgs) Handles btn_Next.Click
    If DGV1.DataSource IsNot Nothing Then    
        Me.Hide()
        Dim frmForm2 As New Form2
        Dim dgv2 As DataGridView
        dgv2 = frmForm2.Controls("DGV2")  
        dgv2.DataSource = DGV1.DataSource
        frmForm2.Show()
    End if
End Sub

或者,如果 Form2 上基本上只有一个DataGridView,您可以重新使用整个现有的DataGridView。或者只是将 Form1 中的一个放到 Form2 中(在设计器中删除一个,但将其属性复制到下面的代码中):

Private Sub btn_Next_Click(sender As Object, e As EventArgs) Handles btn_Next.Click
    If DGV1.DataSource IsNot Nothing Then
        Dim f As New Form
        f.Size = New Size(400, 300)
        Dim dgv As DataGridView = DGV1
        dgv.Dock = DockStyle.Fill
        ' ... plus any other customized properties
        f.Controls.Add(dgv)
        f.Text = "Form2"
        f.Show()
        f.Activate()
    End If
End Sub

编辑:我现在测试了第一个代码块可以正常工作,而无需更改任何公共/私有设置。

【讨论】:

  • 我有两个表格,因为在表格 1 中,用户可以选择需要订购的物品,这些物品现在存储在 DGV1 中,当单击“下一步”按钮时,这会将用户带到表格 2,他们可以选择供应商,输入每个项目的数量并打印表格。我试过运行第一个代码,但是在网上,5 我得到一个错误的数据源'不是'system.windows.forms.controls'的成员。
  • @kartikey 请查看/尝试我修改后的第一个代码块。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-26
  • 1970-01-01
  • 2019-08-24
  • 1970-01-01
相关资源
最近更新 更多