Как обновить данные sh в datagridview из основной формы, когда я добавляю запись во второй форме с помощью Vb.Net - PullRequest
0 голосов
/ 03 августа 2020

Я использовал refre sh, но не работает. спасибо за помощь

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

1 Ответ

0 голосов
/ 03 августа 2020

Вы делаете это слишком сложно. Просто поделитесь источником данных между формами

  • Создайте новый проект; временный
  • Вставьте этот код поверх всего в файле 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
  • Запустите проект

Поиграйте с сетками, добавляя и изменяя данные. вы увидите, как формы (одна за другой) отображают одни и те же данные, и вы увидите, как, когда вы редактируете эти данные в одной, другие обновляются.

Это потому, что они используют одни модель данных. Одно меняет модель, другое видит и обновляет

...