vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
Re: Problemchen bei Verwendung einer ComboBox mit DataSource 
Autor: Atlas
Datum: 25.11.11 09:58

Moin FZelle,

konfus? ich habe gar nicht den Eindruck, dass es so konfus war

gestern nachmittag bin ich auch etwas zurückgetreten und bin am (späten) Abend jedoch erfolgreich wieder hervorgekommen

Bei meiner ursprünglich Variante kam ich noch ohne die Verwendung einer "BindingSource" aus, aber nicht ohne einen zusätzlichen TextBox-Event.

Ich habe mir aber die Verwendung der "BindingSource" noch einmal genauer angesehen und eine Lösung für mich gefunden, die etwas eleganter als die zuvor beschriebene ist. Diese möchte ich Dir (und anderen) natürlich nicht vorenthalten. Ich füge mal ein bischen Code ein:

...
 
    Private dt As New DataTable
    Private WithEvents BS As New BindingSource()
 
...
 
            BS.ResetBindings(False)
            BS.SuspendBinding()
            BS.DataSource = dt
 
            With TimeWindow ' die Properties für mein Steuerelement werden 
            ' gesetzt
                .DataBindings.Clear()
                .DataBindings.Add("TimeStartMin", BS, "start")
                .DataBindings.Add("TimeStart", BS, "start")
                .DataBindings.Add("TimeStop", BS, "stop")
                .DataBindings.Add("TimeStopMax", BS, "stop")
            End With
 
            With cbo ' mit der ComboBox wird durch die BindingSource bzw. 
            ' DataTable navigiert
                .DataSource = BS
                .DisplayMember = "Name"
                .ValueMember = "ID"
            End With
 
            BS.ResumeBinding()
            BS.ResetCurrentItem()
Die Verwendung der "BindingSource" liefert verschiedene Events, die sich hervorragend für meine Zwecke eignen, z.B.:
- CurrentChanged
- CurrentItemChanged
- ListChanged
- PositionChanged
Alle Events kommen NACH der Aktualisierung der DataBindings und das ist hier ja wichtig. Letztendlich habe ich mich dann für "CurrentItemChanged" entschieden:

    Private Sub BS_CurrentItemChanged(ByVal sender As Object, ByVal e As _
      System.EventArgs) Handles BS.CurrentItemChanged
        If Not (BS.IsBindingSuspended) Then
            TimeWindow.Start() ' mein Steuerelement wird "gestartet"
        End If
    End Sub
Die Verwendung von SuspendBinding und ResumeBinding war zusätzlich nötig, um einen definierten Anfangszustand herzustellen.

Ich denke, mit dieser Lösung kann ich gut leben.

Vielen Dank an Dich FZelle, letztendlich hast Du mich mit der "BindingSource" auf den Weg gebracht. Zuvor hatte ich noch nicht damit gearbeitet.

Viele Grüße auch an alle Mitleser
Helmut

Beitrag wurde zuletzt am 25.11.11 um 10:01:04 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problemchen bei Verwendung einer ComboBox mit DataSource4.292Atlas23.11.11 16:30
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.460Christoph197223.11.11 16:45
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.407Atlas23.11.11 17:13
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.492ModeratorFZelle23.11.11 18:28
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.514Atlas23.11.11 18:40
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.423ModeratorFZelle24.11.11 09:45
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.445Atlas24.11.11 14:20
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.387ModeratorFZelle24.11.11 20:36
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.636Atlas25.11.11 09:58
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.452Christoph197224.11.11 22:01
Re: Problemchen bei Verwendung einer ComboBox mit DataSource2.473Atlas25.11.11 09:10

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-2025 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