DataGrideView Zeilenindex von DataTable

27/07/2009 - 23:25 von Winkler Josef | Report spam
Hallo

Ich habe in VB2005 ein DataGrideView an eine DataTabel gebunden.
Sortiere ich nun die Tabelle passt der RowIndex nicht mehr mit den der
DataTable zusammen.

Gibt es eine möglichkeit den DataTabel "ZeilenIndex" aus dem
DataGrideView auszulesen.

lsTest.CurrentRow.Index
Liefert immer den Aktuellen ZeilenIndex des DataGrideView's aber nicht
den ZeilenIndex der DataTable.

Danke im voraus ich suche schon ca. 3 Stunden nach eine Lösung

MFG Josef
 

Lesen sie die antworten

#1 Peter Fleischer
28/07/2009 - 05:23 | Warnen spam
"Winkler Josef" schrieb im Newsbeitrag
news:4a6e1b57$0$1550$

Ich habe in VB2005 ein DataGrideView an eine DataTabel gebunden.



Hi Josef,
zu Datenbankfragen (incl. inline-Datenbanken) in .NET gibt es die Newsgroup
microsoft.public.de.german.entwickler.dotnet.datenbank.

Sortiere ich nun die Tabelle passt der RowIndex nicht mehr mit den der
DataTable zusammen.



Da die DataRow-Objekte in einem DataTable-Objekt nicht sortiert werden
können, wird ein zwischen geschalteter "übergestülpter Index" für den
sortierten und gefilterten Zugriff genutzt in Form eines DataView-Objektes.
Bei direkter Zuweisung eines DataTable-Objektes zu einem DataGridView wird
implizit ein DataView-Objekt erzeugt.

Gibt es eine möglichkeit den DataTabel "ZeilenIndex" aus dem DataGrideView
auszulesen.



Die Zeilennummer im Grid ist der Index im DataView-Objekt.

lsTest.CurrentRow.Index
Liefert immer den Aktuellen ZeilenIndex des DataGrideView's aber nicht den
ZeilenIndex der DataTable.



Deshalb musst du über ein DataView-Objekt gehen.

Danke im voraus ich suche schon ca. 3 Stunden nach eine Lösung



Es gibt verschiedene Lösungwege. Man kann sich das implizit erzeugte
DataView-Objekt besorgen oder selbst eine DataView-Objekt erzeugen und als
DataSource zuweisen oder am einfachsten ein Bindingsource-Objekt nutzt. Die
BindingSource-Klasse kapselt neben dem DataView auch gleich noch den
dazugehörigen BindingManager.

Viele Grüsse
Peter

Ähnliche fragen