[vb.net] DataGridView with Binding Xml-Database

preview_player
Показать описание
Datagridview with Binding Xml-Database, Arbeiten mit dem Designer

Das Dataset enthält eine m:n-Beziehung. Beim Einlesen der Xml in das Dataset, müssen bestimmte Sachen beachtet werden.

Dieses Beispiel ist einfach gehalten, und auch für Anfänger gut nachvollziehbar.

Rückspeicherung bei Veränderung der Daten im DatagridView, werden hier noch nicht beachtet.

Das würde mit dieser Funktion gehen. Einfach in die Form1 einfügen:
Private Sub CellEndEditDgv(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles PersonenDataGridView.CellEndEdit, RolleDataGridView.CellEndEdit, PersonenRolleDataGridView.CellEndEdit, PersonenRolleDataGridView1.CellEndEdit
Me.PersonenDataGridView.Update() : Me.PersonenDataGridView.EndEdit()
Me.RolleDataGridView.Update() : Me.RolleDataGridView.EndEdit()
Me.PersonenRolleDataGridView.Update() : Me.PersonenRolleDataGridView.EndEdit()
Me.PersonenRolleDataGridView1.Update() : Me.PersonenRolleDataGridView1.EndEdit()
Call Save()
End Sub

Die Routine für das Generieren der Daten in das Dataset. Wie gemäss Film an den entsprechenden Ort einfügen:
Private Sub GenerateData()
Dim dtDate As DateTime = Nothing
With DsPersonenRolle
.Clear()
For aa1 As Integer = 0 To 6
dtDate = New DateTime(620000000000000000 + 1000000000000000 * aa1)
.Personen.AddPersonenRow("Vorname_" & aa1, "Nachname_" & aa1.ToString, dtDate, CUInt((Date.Now.Year - dtDate.Year)))
Next
For aa1 As Integer = 0 To 6
.Rolle.AddRolleRow("Applikation_" & aa1.ToString, "Entwickler_" & aa1.ToString, "Designer_" & aa1.ToString, "Produktmanager_" & aa1.ToString, "Projektmanager_" & aa1.ToString)
Next
Dim iPR As Integer = 0
For iPers As Integer = 0 To 3
For iRoll = 2 To 6
Dim rwPers As dsPersonenRolle.PersonenRow = .Personen(iPers)
Dim rwRoll As dsPersonenRolle.RolleRow = .Rolle(iRoll)
Dim name As String = String.Join("_", "PersonenRolle_" & iPR.ToString, iPers, iRoll)
Dim gehalt As Decimal = 1000 + CDec(iPers * iRoll) / 100
.PersonenRolle.AddPersonenRolleRow(rwPers, rwRoll, name, gehalt)
iPR += 1
Next
Next
For iPers = 2 To 6
For iRoll As Integer = 0 To 3
Dim rwPers As dsPersonenRolle.PersonenRow = .Personen(iPers)
Dim rwRoll As dsPersonenRolle.RolleRow = .Rolle(iRoll)
Dim name As String = String.Join("_", "PersonenRolle_" & iPR.ToString, iPers, iRoll)
Dim gehalt As Decimal = 1000 + CDec(iPers * iRoll) / 100
.PersonenRolle.AddPersonenRolleRow(rwPers, rwRoll, name, gehalt)
iPR += 1
Next
Next
End With
End Sub

Freundliche Grüsse

exc-jdbi
Рекомендации по теме
visit shbcf.ru