首页 > 解决方案 > WinForms中多个UserControl中使用一个DataTable作为源

问题描述

我在我的数据集中创建了一个本地数据表。然后我有两个带有数据网格的用户控件。

我正在尝试将数据从 UserControl1 添加到数据表中,然后能够在 UserControl2 中查看这些数据。

当前结构是-DataSet-DataTableClients

两个用户控件上的 DataGrid 都将 DataSet 中的 DataSource 属性设置为“DataTableClientsBindingSource”。

添加客户端工作正常,因为我可以看到 DataGrid 行填充在 UserControl1 中:

    Dim clientsDT As DataTable = DataSet.DataTableClients
    Dim row As DataRow
    Dim i As Integer

    For i = 1 To iClientNo

        row = clientsDT.NewRow()

        row("ClientNo") = Controls("LblClient" & i.ToString()).Text
        row("Title") = Controls("CboTitle" & i.ToString()).Text
        row("FirstName") = Controls("TxtFName" & i.ToString()).Text
        row("Surname") = Controls("TxtSurname" & i.ToString()).Text
        row("ReportName") = Controls("TxtFName" & i.ToString()).Text.Substring(0, 1) & " " & Controls("TxtSurname" & i.ToString()).Text
        clientsDT.Rows.Add(row)

    Next

但是,当我切换到我的 UserControl2 时,该控件上的 DataGrid 是空的,即使 DataSource 已设置并指向同一个 DataTable。

帮助将不胜感激。

标签: vb.netwinformsdatatabledataset

解决方案


推荐阅读