VB.NET刷新其他DataGridView,如果在另一个DataGridView中更改

时间:2017-04-06 14:48:43

标签: vb.net datagridview

我有一个显示员工属性的DataGridView。我可以添加删除,保存,一切正常。 在同一表格中,我有另一个DataGridView,显示员工所属的员工组。数据模型是这样的: tableEmployees.PK - >表Employeegroups FK 雇员 - > Employeenr

现在我尝试了几种方法(感觉就像数百种)来刷新第二个DataGridView。 因为我想要一个更容易测试的可能性,代码现在在一个buttonevent我将改变它,如果它工作。

以下是我的数据选择:

 T_MAGruppenTableAdapter.Fill(dtMAGruppen)
 TMAGruppenBindingSource.DataSource = dtMAGruppen 

在名称中,您可以看到类型。

以下是我填充DataGridView的方法:

 Private Sub DataGridMAGruppen_Fill()
    ' Set up the DataGridView.

    Dim Mitarbeiternr, Gruppennr As New DataGridViewComboBoxColumn

    With Me.DataGridMAGruppen
        .AutoGenerateColumns = False
        .DataSource = db.TMAGruppenBindingSource
        .AutoSizeRowsMode = _
            DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
        .BorderStyle = BorderStyle.Fixed3D
        .EditMode = DataGridViewEditMode.EditOnEnter
    End With
    With Me.DataGridMAGruppen.Columns

        With Mitarbeiternr
            .DataPropertyName = "Mitarbeiternr"
            .DataSource = db.TMitarbeiter2BindingSource
            .DisplayMember = "NN"
            .ValueMember = "nr"
            .FlatStyle = System.Windows.Forms.FlatStyle.Flat
            .HeaderText = "Mitarbeiter"
            .Width = 193
        End With
        With Gruppennr
            .DataPropertyName = "Gruppennr"
            .DataSource = db.TGruppenBindingSource
            .DisplayMember = "Gruppename"
            .ValueMember = "nr"
            .FlatStyle = System.Windows.Forms.FlatStyle.Flat
            .HeaderText = "Gruppe"
            .Width = 190
        End With
        .AddRange(Mitarbeiternr, Gruppennr)
    End With

End Sub

以下是我尝试刷新此DataGridView:

    db.TableAdapterSpeichern(1)
    db.TMAGruppenBindingSource.ResetBindings(False)
    'db.dtMAGruppen.Clear()
    'db.T_MAGruppenTableAdapter.Fill(db.dtMAGruppen)
    'DataGridMAGruppen.DataSource = db.dtMAGruppen

dataadapters等有一个前缀,因为我创建了一个数据库类。

那么在更新DataGridViewEmployees后如何轻松刷新DataGridview MaGruppen?

* EDIT ADD Method tableAdapterSpeichern

   Public Sub TableAdapterSpeichern(ByVal Typ As Integer)

    Dim test As Integer

    Select Case Typ
        Case 1      'Person

            TMitarbeiterBindingSource.EndEdit()
            test = T_MitarbeiterTableAdapter.Update(CType(TMitarbeiterBindingSource.DataSource, DataTable))
        Case 2      'KFZ
            TKFZBindingSource.EndEdit()
            T_KFZTableAdapter.Update(CType(TKFZBindingSource.DataSource, DataTable))
        Case 3  'Gruppen
            TMAGruppenBindingSource.EndEdit()
            T_MAGruppenTableAdapter.Update(CType(TMAGruppenBindingSource.DataSource, DataTable))
        Case 4      'Person
            TMitarbeiter1BindingSource.EndEdit()
            T_Mitarbeiter1TableAdapter.Update(CType(TMitarbeiter1BindingSource.DataSource, DataTable))
    End Select

End Sub

我可以添加新员工和一切,它应该有效,我用来保存员工的类型是1.

0 个答案:

没有答案