やりたいこと
科目修正画面の保存ボタンを押したら、すぐに科目マスタ画面のDataViewViewに
修正を反映させたい。
解決方法
科目マスタのクラスにDataGridViewを更新する処理を書く。
修正画面のインスタンスを生成する時、コンストラクタに科目マスタのFormを参照で渡す。
科目マスタのDataGridViewを更新するときは、参照で渡したFormを使用してDataGridViewを呼び出す。
コード
科目マスタ画面のコード
Private Sub btnAddSubject_Click(sender As Object, e As EventArgs) Handles btnAddSubject.Click
Dim addSubject As New AddSubject(labelAddSubj, titleAddSubj, sender.text, Me)
addSubject.ShowDialog()
End Sub
' DBから取得したデータを使用してDataGridViewを更新する関数
Public Sub displayDGV(dt As DataTable)
Try
' データをDataGridViewに表示する
listSubject.DataSource = dt
Catch ex As MySqlException
MessageBox.Show("エラーが発生しました。error:" & ex.Message)
End Try
End Sub
修正画面のコード
private mDgvForm as DgvSubjectMaster
Public Sub New(ByRef dgvForm As DgvSubjectMaster)
Me.mDgvForm = dgvForm
End Sub
科目マスタ画面のDataGridViewを呼び出すコード
mDgvForm.displayDGV(dt)
dt
…DBの値がDataTable型で入っている。(今回はDBのデータを取得する処理は書いていない。)