Announcement

Collapse
No announcement yet.

LINQ & BindingSource: Welches Ereignis für Änderungen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • LINQ & BindingSource: Welches Ereignis für Änderungen

    Hallo,

    ich habe ein Formular mit Textboxen. Diese sind an eine BindingSource gebunden und BS hat als Source eine LINQ-TO-SQL-Abfrage. Das Lesen und Schreiben funktioniert wunderbar, allerdings bräuchte ich ein Ereignis, was mir sagt, wenn der Benutzer einen Datensatz geändert hat.

    TextChanged bei den Textboxen ist irgendwie nicht geeignet, denn wenn ich durch die Datensätze navigiere, ändert sich ja der Text von alleine.

    Weis jemand einen Rat?

    Vielen Dank, Kai

  • #2
    bin mir nicht sicher aber Bindingsource stellt doch auch ein ListChanged zur verfügung oder?
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      ... und das CurrentChanged-Ereignis. Jürgen

      Comment


      • #4
        stimmt das passt natürlich noch besser, hab ich übersehen!
        Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

        Comment


        • #5
          hatte das CurrentChange schon in Benutzung, allerdings hatte es auch reagiert, als ich mit dem BindingNavigator durch die Datensätze navigiert habe.

          Deswegen dachte ich es gäbe noch eine andere Möglichkeit.

          Comment


          • #6
            hatte das CurrentChange schon in Benutzung, allerdings hatte es auch reagiert, als ich mit dem BindingNavigator durch die Datensätze navigiert habe.
            Wollte schon auf Jürgen und das-d antworten das CurrentChanged nur darauf reagiert wenn der aktuelle Datensatz wechselt (halt wen sich die Current Property ändert) aber nicht wenn sich eine Property des aktuellen Datensatzes ändert (die Current Property ändert sich dann ja auch nicht). Wäre also eigentlich nicht das richtige und hätte dich eigentlich auf ListChanged verwiesen. ListChanged wird zwar auch häufiger aufgerufen aber über die EventArgs kannst du in ListChanged auf den ListChangedType prüfen.

            Code:
            void bindingSource1_ListChanged(object sender, ListChangedEventArgs e)
            {
                if (e.ListChangedType == ListChangedType.ItemChanged)
                {
                    // mach was
                }
            }
            Deine Antwort hörte sich jetzt aber eher so an als würde CurrentChanged bei dir funktionieren. Ist das so?

            Comment


            • #7
              Danke für deine Hilfe.

              Nein, hatte nicht funktioniert. Nur so wie beschrieben.

              Werde Dein Beispiel gleich ausprobieren. Das CurrentChanged Ereignis war auf den ersten Blick einleuchtender, deswegen hatte ich es ja auch erst probiert, allerdings mit wenig erfolg. Jetzt weis ich auch wieso

              Comment


              • #8
                hmm da hätt ich in der msdn noch eine ebene weiter klicken sollen. Naja wer nicht lesen kann, sollte nie zu faul zum Auswendig lernen sein
                Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

                Comment

                Working...
                X