vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Datenbindung an Textbox fehlerhaft? 
Autor: danieljena
Datum: 30.06.16 11:17

Hallo,
ich möchte ein Feld aus einer Tabelle eines DataSets an eine Textbox binden:
Error_txtID.DataBindings.Add("Text", ds.Tables(TabName), "e.id")
Leider führt dieser aber zu einem Fehler:
"Kann das Feld e. nicht an die Textbox binden"
Nur heißt das Feld ja eigentlich gar nicht e. , sondern e.id.
Kann mir da einer weiterhelfen?
mfg
danieljena

Edit:
Die SelectSQL-Anweisung sieht so aus:
Select e.*, c.pcindex, c.pcname, c.standort, u.nutzer, u.id FROM error as e, _
  clients as c, users as u WHERE e.UserID = u.id and e.ClientID = c.PCIndex
Auch wenn ich den ColumnName des Felds auslesen kommmt der richtige.

Beitrag wurde zuletzt am 30.06.16 um 11:23:16 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: effeff
Datum: 30.06.16 13:26

Error_txtID.DataBindings.Add(New Binding("Text", ds.Tables(TabName), "e.id"))
...

EALA FREYA FRESENA

Beitrag wurde zuletzt am 30.06.16 um 13:27:05 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: danieljena
Datum: 30.06.16 13:44

selber Fehler.
Hier nun auch mal die genaue Fehlerbeschreibeung, laut VisualStudio.
"Die untergeordnete Liste für das Feld e kann nicht erstellt werden."

P.S.: Ich habe vergessen zu erwähnen, dass ich vor der Zuweisung der DataBinding, ein DataBindings.Clear ausführe.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: danieljena
Datum: 01.07.16 10:10

Hat denn niemand einen Tipp o.ä.
Ich kann mir nicht vorstellen, dass dies noch keiner mal gemacht hat.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: Manfred X
Datum: 01.07.16 10:34

Hallo!


Du kannst die Textbox an eine Spalte der Datatable binden,
aber nicht an ein bestimmtes Feld.
Für das Navigieren zwischen Table-Zeilen in dieser Spalte
kannst Du eine Bindingsource verwenden.

Für die Zeichen in Spalten-Namen gibt es Einschränkungen.
http://stackoverflow.com/questions/2940618/what-is-it-about-datatable-column-names-with-dots-that-makes-them-unsuitable-for
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: danieljena
Datum: 01.07.16 10:42

Was ist bitte zwischen einem Feld und einer Spalte der unterschied
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: Manfred X
Datum: 01.07.16 10:56

Das Schema einer Datatable besteht aus Columns (Spalten).
Die Daten stehen in Zeilen (Rows), wobei jede Zeile
Zellen (Cells) für jede der Spalten besitzen.

Die Bezeichnung "Feld" ist nicht eindeutig bestimmt.
https://de.wikipedia.org/wiki/Feld_(Datentyp)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: danieljena
Datum: 01.07.16 11:01

Ah ok, dann war meine Wortwahl nicht richtig ausgedrückt.
Zurück zum Thema.
Laut dem Link kann ich Sonderzeichen verwenden, wenn ich den ColumnName mit [ ] umschließe. Aber auch das Funktioniert bei mir nicht.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: Manfred X
Datum: 01.07.16 11:40

So weit mir bekannt, wird der Punkt im Spaltenbezeichner
bei Win.Forms-Bindings als Navigationspfad behandelt.
Die Bezeichnung "E.ID" würde bedeuten, Du bindest an ein Dataset,
das eine Tabelle "E" enthält, wobei diese Tabelle eine Spalte
"ID" besitzt.

Du könntest vielleicht in der Tabelle eine zusätzliche Expression-Column "E_ID"
erstellen und an die binden.
Sei "dt" eine Datatable ....
dt.Columns.Add("E_ID", GetType(String), "E.ID")
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: danieljena
Datum: 01.07.16 11:46

habe deinen Code in meinen eingefügt, und an der gleichen Stelle kommt der gleiche Fehler
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: danieljena
Datum: 01.07.16 11:55

nagut, doch ein etwas anderer Fehler
"An die Eigenschaft oder Spalte E_ID für die DataSource kann nicht gebunden werden."
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: Manfred X
Datum: 01.07.16 12:11

Ich kenne Dein Datenszenario nicht.
Eventuell mußt Du zunächst eine "Copy" Deiner Datatable erstellen.


Sollte eigentlich funktionieren ...
'Deklarationen
Dim dt As New DataTable
Dim bs As New BindingSource
 
Dim tbx As New TextBox With {.Parent = Me}
 
'Spalten und Daten
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("E.ID", GetType(String)) 'kritische Spalte
dt.Columns.Add("E_ID", GetType(String), "E.ID") 'Expression-Column
 
dt.Rows.Add(1, "10")
dt.Rows.Add(2, "20")
 
'Datenbindung
bs.DataSource = dt
tbx.DataBindings.Add(New Binding("Text", bs, "E_ID"))
 
 
'Vom Benutzer geänderte Spalten-Werte müssen explizit eingetragen werden
Private Sub tbx_KeyDown(sender As Object, _
    e As System.Windows.Forms.KeyEventArgs) Handles tbx.KeyDown
 
    If e.KeyCode = Keys.Return Then
       Dim r As DataRowView = DirectCast(bs(bs.Position), DataRowView)
       r.Item("E.ID") = tbx.Text
       bs.EndEdit()
    End If
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbindung an Textbox fehlerhaft? 
Autor: danieljena
Datum: 01.07.16 12:33

Ich habs, jezt geht es mit der Expression-Column.
Hatte vorhin ausversehen das ganze DataSet als DataSource im Databindings.Add angegeben und nicht eine Tabelle.

Danke Danke Danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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