vb.net - 当我使用 Vb.Net 以第二种形式添加记录时,如何从主窗体刷新 datagridview 中的数据
问题描述
我使用了刷新但没有工作。感谢帮助
Private Sub frm_Add_Teacher_Closing(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
frm_View_Teacher.Refresh()
End Sub
解决方案
你把事情弄得太复杂了。只需在表单之间共享数据源
- 做一个全新的项目;一个临时的
- 将此代码粘贴到 Form1.vb 文件中所有内容的顶部:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dt As New DataTable()
dt.Columns.Add("A")
dt.Rows.Add("One")
dt.Rows.Add("Two")
Dim dgv As New DataGridView
Me.Controls.Add(dgv) 'add dgv to this form
dgv.DataSource = dt
Dim f2 = New Form2(dt)
f2.Show()
End Sub
End Class
Public Class Form2
Inherits Form
Public Sub New(d As DataTable)
Dim dgv2 As New DataGridView
Me.Controls.Add(dgv2) 'add a dgv to this form too
dgv2.DataSource = d
End Sub
End Class
- 运行项目
玩转网格,添加和更改数据。您将看到表单(一个在另一个之后)如何显示相同的数据,并且您将看到当您在一个表单中编辑该数据时,其他表单如何更新。
这是因为它们共享相同的数据模型。一件事改变了模型,另一件事看到并更新
推荐阅读
- ruby-on-rails - Bundle Update 将 gem 中的几个 gem 降级
- plot - 如何正确使用平滑线命令?
- aws-lambda - AWS lambda 与 AWS CLI
- r - R从因子类型向量中删除整数元素
- sql-server - Perl ODBC SSL 连接到 MSSQL
- python - 将 Pandas 数据框转换为 Spark 数据框的问题
- reactjs - 道具“价值”的值无效标签
- c - 创建宏以执行单个操作 n 次
- linux - 如何从不同的文本文件中复制字符串以在单独的列中并排显示到 Bash 中的第三个文件中
- jquery - 如何在 Typescript 中使用 jQuery 插件?