| |
ADO.NET / DatenbankenAdo.net Relation und Bindung an Steuerelemente bei n:1 Beziehung | | | Autor: Schoofi | Datum: 09.09.15 13:50 |
| Hallo,
ich bin dabei von VB6 auf VB.net umzustellen.
Bei meinen Formularen setze ich gern Comboboxen ein, aus denen Schlüsselwerte ausgewählt werden können.
Dies wollte ich über das Relation Objekt realisieren.
Den umgekehrten Weg, wähle in der Mastertabelle und lasse eine Liste in der Detailtabelle anzeigen habe ich im Internet gefunden.
Nur wie muß ich in meinem Fall, die Bindungen setzen ?
Bsp. Es gibt viele Rechner, von denen ich einen auswähle und dazu soll in der Combobbox das Betriebssytem angezeigt werden.
Bisher bin ich soweit gekommen, das ich alle Rechner eines Betriebssytems anzeigen lassen kann, ich will aber den Rechner wählen und dazu das BS einblenden.
anbei der Quellcode:
Public Class frm_Rechner
Dim ping As New System.Net.NetworkInformation.Ping
Dim lngPingReply As System.Net.NetworkInformation.PingReply
Dim lngPing As Long
Dim dsRechner As New DataSet
Dim drBS As DataRelation
Dim dtBS As DataTable
Dim dtRechner As DataTable
Dim bsbs As New BindingSource
Dim bsRechner As New BindingSource
Protected Overrides Sub onload(e As EventArgs)
'Dim dtBS As DataTable
dsRechner.Locale = System.Globalization.CultureInfo.InvariantCulture
comRechnerliste.CommandText = "SELECT * FROM tbl_Rechner ORDER BY Rechner"
Try
daRechnerliste.Fill(dsRechner, "Rechner")
Catch ex As Exception
MessageBox.Show("Das Füllen der Tabelle Rechner ist gescheitert" & vbCrLf _
& ex.Message)
Exit Sub
End Try
comRechnerliste.CommandText = "SELECT * FROM tbl_Z_Betriebssystem"
Try
daRechnerliste.Fill(dsRechner, "Betriebssystem")
Catch ex As Exception
MessageBox.Show("Das Füllen der Tabelle Betriebssystem ist gescheitert" & _
vbCrLf & ex.Message)
Exit Sub
End Try
dtBS = dsRechner.Tables("Betriebssystem")
dtRechner = dsRechner.Tables("Rechner")
Try
Dim Relation As New DataRelation("RechnerBS", dtBS.Columns( _
"ID_Betriebssystem"), dtRechner.Columns("ID_Betriebssystem"))
dsRechner.Relations.Add(Relation)
Catch ex As Exception
MessageBox.Show("Die Beziehung zwischen Rechner und Betriebssytem konnte" & _
"nicht hergestellt werden" & vbCrLf & ex.Message)
Exit Sub
End Try
With bsbs
.DataSource = dsRechner
.DataMember = "Betriebssystem"
End With
With bsRechner
.DataSource = bsbs
.DataMember = "RechnerBS"
End With
Me.txtBetriebssystem.DataBindings.Add("Text", bsbs, "Betriebssystem")
Me.txtBetriebssystem.Text = "Windows 7"
Try
With Me.autID_Rechner
.DisplayMember = "ID_Rechner"
.ValueMember = "ID_Rechner"
.DataSource = bsRechner
End With
Me.txtBemerkungen.DataBindings.Add("Text", bsRechner, "Bemerkungen")
Me.txtClient.DataBindings.Add("Text", bsRechner, "Rechner")
Me.txtSeriennr.DataBindings.Add("Text", bsRechner, "RechnerSeriennr")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
end sub Andreas Schoof | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|