PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C#: Custom Sort bei DataBound DataGridView


Elemental
2007-08-13, 12:50:34
Hallo zusammen,
ich habe in meiner Anwendung ein DataGridView, welches ein DataSet (mittels BindingSource) als Datenquelle verwendet.

Nun möchte ich eine eigene compare-Funktion nutzen, wenn der User auf die Column-Headers klickt. Allerdings verzeifele ich daran.

Die standard Sachen wie z.B. einfach DataGridView.Sort(IComparer) funktionieren nicht, wenn das DataGridView databound ist ;(

Ich hab schon gegoogelt und Artikel über BindingList<T> Implementierungen mit sort-Funktionen gelesen, aber ich check auch nicht, wie ich das dann mit meinem DataSet verbinden soll.

Hat jemand schonmal sowas gemacht oder weiss, wie das geht?

Besten Dank im voraus!

Matrix316@work
2007-08-13, 15:42:47
Vielleicht hilft das:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=784768&SiteID=1
The easiest way is to use a BindingSource. Set the BindingSource.DataSource property to your DataTable, then set DataGridView.DataSource to the BindingSource. You can then use the BindingSource.Sort property to sort.

To elaborate, the DataGridView does not store a separate copy of the data that it is bound to, so any sorting must take place in the data source. You cannot sort a DataTable, however. All DataTable sorting takes place in a DataView, which you can retrieve through the DataTable.DefaultView property or create a new DataView and pass the DataTable to its constructor. When you use a BindingSource, all of that happens automatically.

Elemental
2007-08-13, 20:35:35
Naja, hilft mir nicht wirklich weiter.
Drecks DataBinding *grummel* Hau ich das halt wieder raus; geht auch ohne...