Databinding bei einer Textbox

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Nils_Kr.

    Databinding bei einer Textbox

    Hi,

    ich hab folgende Zeile gefunden:

    Quellcode

    1. TextBox1.DataBindings.Add("Text", Linkliste01.settings01, "Name")

    Linkliste01.settings01 bezieht sich auf eine DataTable, soweit so gut. Nur worauf bezieht sich "Text" und "Name"? Eins davon wird ja wohl der Spaltenname sein, aber was ist die andere Bezeichnung? Auch scheint mir der Befehl nicht typisiert zu sein. Gibt es eine typisierte Version?
    Option strict = on

    If it's stupid and it works it ain't stupid.
    nein, das ist untypisiert. Wirklich werden bei databinding im Kern die Properties per String-schlüssel angesprochen.
    Hier sinds die Textbox1.Text - Property und die settings01.Name - property

    Ja, unter der Haube ist Databinding eiglich ziemlich schmuddelig ;)

    weswegen man zum Setzen von Bindings immer Designer bevorzugen sollte.
    Wieso schaust du nicht bei MSDN nach?
    Dieser Code erscheint normalerweise in Designer-Datei, du verbindest in der Form einfach die Eigenschaft Text mit Spalte Name von der Tabelle settings01 vom Dataset Linkliste01, allerdings über Bindingsource der Tabelle.
    ich hab's bei mir im Code so im Gebrauch:

    VB.NET-Quellcode

    1. TextBox15.DataBindings.Add("Text", bindingsource, "Spaltenname", True)
    2. CheckBox1.DataBindings.Add("Checked", bindingsource, "Spaltenname", True)
    3. DateTimePicker1.DataBindings.Add("Value", bindingsource, "Spaltenname"", True)


    wenn's dir was hilft ...
    Das erste, also "Text", "Checked", "Value" spricht die Eigenschaft des jeweiligen Controls an, die gebunden werden soll bzw. wo deine gebundenen Werte angezeigt werden... Zumindest hab ich das so verstanden...
    Lasse mich aber gern eines besseren belehren ...
    Your computer is running... You better go chase it! :P :D
    Ich wusste garnicht, dass es bei einer Textbox auch Data-Binding als Option gibt, habs jetzt aber gefunden. Allerdings bekomme ich es nach wie vor nicht hin, dass in der Textbox der verbundene String angezeigt wird. Sowohl mit dem Befehl, als auch über die Einstellungen passiert genau nichts. Liegt es daran, dass ich keinen Index vergeben habe? Also an welcher Position in der Datatable sich der String befindet. Alle anderen Databindings funktionieren so, wie sie sollen.
    Option strict = on

    If it's stupid and it works it ain't stupid.
    Linkliste01.settings01 ist eine DataTable, die mit dem Data-Designer erstellt wurde. Die DataTable hat 2 Spalten einmal ID (system32.int) & Name (String). In der DataTable steht bevor das Binding erstellt wird auch schon was drinne. In der ersten Zeile steht bei ID 1 und bei Name Test. Das habe ich nämlich per Datagridview vorher eingetragen.
    Bei Msdn hab ich folgende Funktion gefunden:

    Quellcode

    1. TextBox1.DataBindings.Add(New Binding("Text", Linkliste01.Listnames, "Listname"))
    Wenn ich die Funktion ausführe passiert beim ersten mal auch nichts. Beim zweiten Mal kommt dann eine Fehlermeldung, dass schon ein Databinding vorhanden ist, von daher funktioniert das wohl. Wie kann ich denn eintragen, dass ich Listname der Zeile 1 verwenden möchte?
    Option strict = on

    If it's stupid and it works it ain't stupid.
    und was ist Linkliste01 für ein Datentyp?

    Es ist voll ungewöhnlich, dass an die Property einer Property gebunden wird.

    Hast du den Link zum MSDN-beispiel? (MSDN-Beispiele sind oft völlig daneben - also funktionieren, sind aber sowas von schrullig...)

    Also was erwiesenermassen funzt ist die Vorgehensweise von vier Views-Videos, zB. Film#10
    ich drehe und drehe mich mal wieder im Kreis :D

    Wie muss die folgende Abfrage richtig heißen:

    dim ein_string as string = Linkliste01.settings01.Name.row(1) mit DataSet -> DataTable -> Column -> Row. Ich suche schon seit ewigen Zeiten nach der richtigen Syntax für diesen Pseudo-code. Alles andere war bis jetzt nur workarround. Meine ewige Dankbarkeit gilt dem, wer mir sagen kann, wie die Zeile richtig heißt. Der Wert in dem Feld ist ja vom Typ string, von daher müsste da ja keine Umwandlung nötig sein.
    Option strict = on

    If it's stupid and it works it ain't stupid.