Gebundene TextBox nicht ändern

  • VB.NET
  • .NET 4.5

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Amro.

    Gebundene TextBox nicht ändern

    Hallo ,
    ich habe eine Textbox und eine DGV die an eine Bindingsource(Datatable) gebunden sind.
    Über die DGV kann ich navigieren in dem ich eine Zeile anklicke.
    Die TextBox wird mit dem richtigen Text angezeigt.
    Jetzt ist die Textbox nicht Readonly weil sie auch als Suche fungiert.(über Event-KeyDown)
    schreib ich da jetzt was rein also in die Textbox bleibt der Text drin.
    Heißt wenn ich die Zeile in der Grid das nächste mal anwähle bekomm ich den geänderten Text
    und nicht den ursprünglichen Text.
    Wie kann ich verhindern das die gebundene TextBox nicht geändert wird.
    Über die BindingSource?
    Über die Datattable? ?(
    Für Hilfe danke schon mal in Voraus.
    Nach der Zuordnung der Datenquelle an die TextBox (also jetzt) gehst Du in die TextBox-Properties -> DataBinding -> Erweitert. Dort kannst Du die Einstellung für die Property Text (die ja über die BS gebunden ist), dass die Daten nicht verändert werden sollen (oben rechts von OnValidation auf Never stellen).
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    hhmm..
    das Problem ist das die Textbox über den QuellCode gebunden ist
    TextBox1.DataBindings.Add("Text",BindingSource1, "ID")
    Somit komm ich an die genannte Eigenschaft nicht ran.
    @EDR Ist sie aber und es Funktioniert. Wie meinst du das genau "kann nicht Datengebunden sein.
    Ich kann doch über den Key-Down Event meine Daten neu einlesen undder BindingSource übergeben.
    (oder Filtern über die BindingSource)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Amro“ ()

    Ja gut, ehh ...
    Wenn Du schon mit eigenen gecodeten DataBindings arbeitest, wär ich davon ausgegangen, dass das jetzt keine größere Hürde ist, den entsprechenden Code selber herauszufinden.
    Da die Einstellungen im Designer zu Codeveränderungen in der Form.Designer.VB führen, wär ein einfacher Test notwendig gewesen, um folgenden Code zu erhalten:

    VB.NET-Quellcode

    1. 'TextBox kann Änderungen in der DataSource vornehmen - Standardverhalten
    2. TextBox1.DataBindings.Add("Text", BindingSource1, "ID", True)
    3. 'TextBox kann das nicht mehr
    4. TextBox1.DataBindings.Add("Text", BindingSource1, "ID", True, System.Windows.Forms.DataSourceUpdateMode.Never)

    Oder einfach den vom EdR immer angepriesenen ObjectBrowser nutzen. Oder das MSDN zum Thema DataBindings.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.