IQueryable/DataGridView-Sortierung

17/11/2008 - 11:07 von Matthias Bunge | Report spam
Hallo,

Ich habe ein kleines Verstàndnisproblem bzgl. des Sortierverhaltens beim
DataGridView:

Folgende Linq-To-SQL Abfrage liefert mir ein IQueryable<MeineKlasse>:

var erg = from e in DataContext.MeineKlasse select e;

Dieses setze ich als DataSource einer BindingSource die wiederum als
DataSource eines DataGridViews
gesetzt ist.

BindingSource bs = new BindingSource();
bs.DataSource=erg;
MeinDataGridView.DataSource = bs;

Soweit so gut. Klicke ich jetzt auf einen Spaltenheader des DataGrids dann
wird auch nach dieser Spalte sortiert.

Jetzt modifiziere ich obigen Code:

BindingSource bs = new BindingSource();
bs.DataSource=erg;
MeinDataGridView.DataSource = bs;

IQueryable iq = bs.List.AsQueryable();
bs.DataSource = iq;

Jetzt funktioniert die Sortierung über das anklicken eines Spaltenheaders
nicht mehr.
Aber warum? Ist zwischen der generischen Implementierung und der allgemeinen
Implementierung von IQueryable
ein Unterschied der zu diesem Verhalten führt?


Danke schon mal für eine Aufklàrung


Gruß Matthias
 

Lesen sie die antworten

#1 Frank Dzaebel
17/11/2008 - 11:28 | Warnen spam
Hallo Matthias,

Jetzt modifiziere ich obigen Code: [...]
auf IQueryable ...



müsste es dann nicht so heissen:
(auf Northdwind übertragen, da ja allgemein bekannt)

NorthwindDataContext db = new NorthwindDataContext();
var erg = from c in db.Customers select c;
BindingSource bs = new BindingSource();
IQueryable iq = erg.AsQueryable();
bs.DataSource = iq; dgv.DataSource = bs;


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen