Laden...

Hilfe: Datagrid EInträge selektiert behalten

Erstellt von Asharon vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.532 Views
A
Asharon Themenstarter:in
5 Beiträge seit 2006
vor 17 Jahren
Hilfe: Datagrid EInträge selektiert behalten

und zwar z.B: nach dem sortieren...

Wisst ihr evtl wie das geht? Also das ich

12
3
4
5

z.B die 2 selektiere dann reihenfolge drehe

5
4
32
1

und dennoch die 2 selektiert hab...

Ja das Beispiel ist nun sehr simpel xD Aber dient nur der Anschaulichkeit. Denke das ist sicher ein sehr simples Problem für viele hier, für mich leider zu schwer.

Also in einem Datagridview den selektierten Eintrag nach dem sortieren immernoch selektiert zu haben...

Vielen Dank für eure Hilfe 😉

Ash

Ich benutze Visual Studio 2005 und .Net 2.0...

B
1.529 Beiträge seit 2006
vor 17 Jahren

*vor dem Sortieren setzt du bei jeder selektierter Row (DataGridView.SelectedRows) den Tag (Row.Tag) auf irgendeinen bestimmten Wert (beispielsweise: Tag = (object)true) *dann sortierst du *im Anschluss iterierst du durch alle Elemente und selektierst jene, deren Tag true ist *dann gehst du wieder DataGridView.SelectedRows durch und setzt alle Tags auf null;

A
Asharon Themenstarter:in
5 Beiträge seit 2006
vor 17 Jahren

Hi, danke mit so einem Gedanken habe ich auch gespielt.

Frage ist jedoch wie merke ich wann er fertig sortiert hat?

Also welche Events sollte ich für was verwenden 😉

Danke

Kai

B
1.529 Beiträge seit 2006
vor 17 Jahren

Der Aufruf von Sort ist synchron. Das heisst, er kehrt erst zurück, wenn er mit sortieren fertig ist.

A
Asharon Themenstarter:in
5 Beiträge seit 2006
vor 17 Jahren

Hm klappt irgendwie nicht ganz, anscheinend markiert er die "Row" wieder aber nur die Row nicht den Datensatz. Also wenn ich die 3te von oben nehme und neu sortiere dann nimmt er wieder die 3te von oben. Es scheint das die Tags sich auf die "Rows" und nicht auf die Datensätze beziehen 🙁

Andere Vorschläge?

B
1.529 Beiträge seit 2006
vor 17 Jahren

Dann wirst du wohl oder übel in einer anderen Datenstruktur (z.Bsp. List<T>) speichern müssen, welche Datensätze markiert waren.

T
111 Beiträge seit 2005
vor 17 Jahren

Hallo

wenn Du eine BindingSource verwendest, dann kannst Du im PositionChanged-Event die ID des markierten Datensatzes abspeichern, und diese dann nach dem sortieren über die Find-Methode wieder suchen (siehe auch Artikel im Dotnet-Magazin 7/8.06).

Thomas

A
Asharon Themenstarter:in
5 Beiträge seit 2006
vor 17 Jahren

Hm.. das Problem dazu scheint ein weiteres zu sein...

Wie bekomme ich es hin, wenn ich die entsprechende Row habe, den Gridfokus auf diese Row zu setzen, so das sie angezeigt wird?

btw es ist in meinem Grid nur möglich eine Row zur Zeit zu selektieren.