ASP.NET – Stolperfalle Gridview sortieren

16 08 2007

So ein Gridview ist schon ein tolles Control.

Einfach die passende Datenquelle aktiviert, dann Paging und Sortierung aktivieren und alles ist funktioniert prächtig und sieht professionell aus.

Allerdings bin ich auf ein Problem gestoßen. Ich habe Spalten in meinem Gridview die ich per Templatefield erzeugt, um z.B. eine Grafik anzuzeigen. Da die Grafiken Werte darstellen, möchte ich auch eine Sortierung ermöglichen. Ich habe z.B. die Werte 1-3, die werden mit Kreisen in den Farben Rot, Gelb, Grün dargestellt. Aufsteigen sortiert würde bedeuten erst Grün dann Gelb und als letztes Rot, absteigend wäre dann umgekehrt.

Bei einem Templatefield muss man gesondert angeben nach welchem Wert sortiert werden soll. Dies habe ich mittels folgender Codezeile getan.

<asp:TemplateField SortExpression="uebID">

Leider konnte ich dann immer noch nicht sortieren. Wo lag das Problem? Nach verzweifelter Suche hab ich heraus gefunden, das ASP.NET nur solche TemplateFields sortiert, die kein HeaderTemplate besitzen. Brauch ich auch nicht, ich will ja nur den Inhalt der Spalten anpassen und nicht den Inhalt der Kopfzeile. Also überall HeaderTemplate entfernt. Damit die Spalte aber trotzdem eine Überschrift besitzt habe ich die Befehlszeile von oben wie folgt angepasst:

<asp:TemplateField SortExpression="uebID" HeaderText="Priorität">

Siehe da, das Sortieren funktioniert ohne Probleme!

Advertisements

Aktionen

Information

One response

19 06 2008
Marcus

Hi,

SortExpression=“uebID”

ist uebID ein Label oder ist uebID eine Datenbankexpression.
Ich will genau das gleiche machen nur das die Bilder (Ampeln) bei mir dynamisch durch errechnete Werte angezeigt werden.
Ein Sortieren wäre mir auch wichtig – wie ich aber so gelesen habe wird es nur mit Datenbankexpressions also Zellinhalten einer Datenbank die ich mit eval oder bind angegeben habe, funktionieren.

Wenn du mich eines besseren belehren könntest wäre ich dankbar.

(einfach mal das Codesnippet zeigen was uebID in deinem Fall ist)

Thx
Marcus

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s




%d Bloggern gefällt das: