| |
![zurück](../images/b_zurueck.gif)
ADO.NET / DatenbankenDataBindings Fehler | | ![](../images/trans.gif) | Autor: Dave77 | Datum: 06.03.09 11:57 |
| Hallo zusammen,
ich habe gegoogelt und Foren durchforstet, ich habe aber bis jetzt keine Lösung finden können, darum bitte ich Euch um Hilfe.
Ich habe ein Form mit 5 verschiedenen Tabs. Auf dem ersten Tab wird ein Data Grid View mit allen Usern angezeigt. Beim Doppelklick auf einen Datensatz wird der nächste Tab geöffnet und aktiviert, auf dem alle User-Daten mit DataBindings in einer Textbox angezeigt werden. Das funktioniert noch wunderbar.
Daraufhin öffne ich ein weiteres Tab mit allen Hardware-Infos (auch wieder in einem Data Grid View) zu dem jeweiligen User.
Hier möchte ich wiederrum ein weiteres Tab mit den Lieferanten-Infos öffnen und die Daten wieder an Textboxen binden.
Hier erhalte ich die Fehlermeldung: "System.ArgumentException: Dies führt dazu, dass sich zwei Bindungen der Auflistung an dieselbe Eigenschaft binden".
In den Foren habe ich erfahren, dass man das Binding wieder löschen muss, z.B.
Dim ctl As Object
For Each ctl In Me.Controls
ctl.DataBindings.Clear()
Next das funktioniert bei mir nicht richtig (Exception: Die Liste kann nicht gelöscht werden.) und eigentlich möchte ich das auch nicht, da man zwischen den Tabs hin-und her springen soll und alle Daten für den am Anfang ausgewählten User.
Zum besseren Verständniss hier ein wenig Code:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Load
...
sql = "SELECT * FROM User"
dgv = Me.dgvSuchen
SelectData(sqlStr, dgv)
End Sub
Private Sub SelectData(ByVal sqlStr As String, ByVal dgv As DataGridView)
ds.Tables.Clear()
dgv.Controls.Clear()
ds = New DataSet
bs = New BindingSource
dt = New DataTable
ds.Tables.Add(dt)
da = New OleDbDataAdapter(sqlStr, strConnString)
da.Fill(dt)
Dim cb As New OleDbCommandBuilder(da)
bs.DataSource = dt
Me.dgv.DataSource = bs
End Sub
Private Sub Lieferant()
Dim sql2 = "SELECT * FROM tblLieferant"
gdv = dgvHardware
SelectData(sql2, dgv)
End Sub
Private Sub DataBindingLieferant()
Dim ctl As Object
For Each ctl In Me.Controls
ctl.DataBindings.Clear()
Next
ClearAllBindings()
' #### hier kracht es ####
txtLFirmenname.DataBindings.Add("Text", bs, "tblLieferanten.Firmenname")
End Sub Vielen Dank für Eure Hilfe!!!
Grüße Dave. | ![](../images/trans.gif) |
![](../images/48x48/info.gif) | 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 |
![nach oben](../images/b_top.gif) ![zurück](../images/b_zurueck.gif) |
|
Neu! sevDTA 3.0 Pro ![sevDTA - für VB/VBA und VB.NET](../images/werbung/sevdta_100x100.jpg)
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats Access-Tools Vol.1 ![Access-Tools CD Vol.1](../images/werbung/apvol1_68x100.gif)
Ü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
|
|