Announcement

Collapse
No announcement yet.

CurrencyManager Problem?

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

  • CurrencyManager Problem?

    Hallo!

    Ich fange gerade an mich in C# und ADO.NET einzuarbeiten und habe da ein kleines Problem!

    Ich habe zwei DGV's, in dem ersten lasse ich alle "Kunden" anzeigen und in dem zweiten möchte jeweils nur zu dem selektierten Kunden die "kontakte" anzeigen lassen, was auch soweit klappt. Ich lasse zusätzlich die einzelnen Daten aus den Tabellen in Textboxen anzeigen, sprich Databinding. Ich habe mir auch jeweils für beide Tabellen Buttons erstellt zum navigieren "Zum nächsten Datensatz springen" usw.! Bei der ersten Tabelle klappt das auch, aber bei der zweiten geht es nur einmal, denn wenn ich einen "Kunden" wechsel und dann durch die einzelnen "Kontakte" navigiere tut sich leider nichts mehr und man sieht in den Textboxen immer noch die Daten der "Kontakte" des ersten "Kunden"!
    Zur Info: Ich hatte mir dafür zwei "CurrencyManager" erstellt!

    Ich hoffe ich konnte es einigermaßen verständlich ausdrücken!

    Würde mich über jegliche Art an Tipps freuen!

    Gruß
    Echo

  • #2
    Hallo,

    Ich habe zwei DGV's..
    Wenn mit DGV die DataGridView-Komponente gemeint ist, handelt es sich um ADO.NET 2.0. Und dort muss man (zum Glück) nicht mehr selbst mit dem CurrencyManager hantieren, da dieser von der BindingSource-Komponente transparent eingekapselt wird. Es reicht aus, die Datenquelle der BindingSource-Komponente über die Eigenschaften DataSource und DataMember neu zu setzen, damit alle angebundenen Controls den aktuellen Datenzustand anzeigen. Während ADO.NET 1.x noch den direkten Schreibzugriff auf die CurrencyManager-Eigenschaft Position vorsah, stellt die Komponente BindungSource die Methoden MoveFirst, MovePrevious, MoveNext und MoveLast zur Verfügung, wenn ein anderen Datensatz ausgewählt werden soll.

    <div style="font-family: Consolas; font-size: 10pt; color: black; background: white;"><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: green;">'</span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: green;">' Der alte ADO.NET 1.x-Weg</span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: green;">'</span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">Private</span> <span style="color: blue;">Sub</span> ButtonOld_Click(<span style="color: blue;">ByVal</span> sender <span style="color: blue;">As</span> System.Object, _</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp; <span style="color: blue;">ByVal</span> e <span style="color: blue;">As</span> System.EventArgs) <span style="color: blue;">Handles</span> ButtonOld.Click</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">Dim</span> aBinding <span style="color: blue;">As</span> Binding = VNameTextBox.DataBindings(<span style="color: #a31515;">"Text"</span>)</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">Dim</span> aBMB <span style="color: blue;">As</span> BindingManagerBase = aBinding.BindingManagerBase</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; aBMB.Position = aBMB.Position + 1</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">End</span> <span style="color: blue;">Sub</span></p><p style="margin: 0px;">&nbsp;</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: green;">' </span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: green;">' Der neue ADO.NET 2.0-Weg</span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: green;">'</span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">Private</span> <span style="color: blue;">Sub</span> ButtonNew_Click(<span style="color: blue;">ByVal</span> sender <span style="color: blue;">As</span> System.Object, _</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp; <span style="color: blue;">ByVal</span> e <span style="color: blue;">As</span> System.EventArgs) <span style="color: blue;">Handles</span> ButtonNew.Click</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MailAdressenBindingSource.MoveNext()</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">End</span> <span style="color: blue;">Sub</span></p></div>

    Comment

    Working...
    X