ASP.NET – Headergrafik bei sortiertem Gridview

Achtung, diesen Beitrag schrieb ich vor über 13 Jahren. Beachte, dass sich in der Zeit viel geändert haben kann und wird! Nicht alles lässt sich immer noch so anwenden, manches passt auch gar nicht mehr.

Wenn ich mir meine Pagehits so anschaue, scheinen sich viele für den Gridview & Checkbox-Artikel zu interessieren.

Deshalb nun ein weiterer Artikel zu diesem Thema. Gridviews lassen sich super einfach sortieren, nur leider wird nie angezeigt nach welcher Spalte gerade sortiert wird bzw. ob aufsteigend oder absteigen.

Abhilfe kann man sich recht einfach schaffen:

public void gridJobs_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if ((e.Row != null) && e.Row.RowType == DataControlRowType.Header)
        {
            foreach (TableCell cell in e.Row.Cells)
            {
                if (cell.Controls.Count > 0)
                {
                    LinkButton button = cell.Controls[0] as LinkButton;
                    if (button != null)
                    {
                        Image image = new Image();
                        image.ImageUrl = "image/empty.gif";
                        if (gridJobs.SortExpression == button.CommandArgument)
                        {
                            if (gridJobs.SortDirection == SortDirection.Ascending)
                                image.ImageUrl = "image/sort_up.gif";
                            else
                                image.ImageUrl = "image/sort_down.gif";
                        }
                        cell.Controls.Add(image);
                    }
                }
            }
        }
    }

GridJobs heißt mein Gridview, das müsst ihr auf euren Code anpassen. Es gibt drei Grafiken, eine ist einfach nur durchsichtig (empty.gif), ein Pfeil nach oben (sort_up.gif) für aufsteigende Sortierung und einen Pfeil nach unten (sort_down.gif), für die absteigende Sortierung.Damit die oben genannte Prozedur auch ausgeführt wird müsst ihr noch folgendes in der ASP.NET-Seite zu eurem Gridview hinzufügen.

OnRowCreated="gridJobs_RowCreated"

Viel Spaß & Erfolg!

Achtung, diesen Beitrag schrieb ich vor über 13 Jahren. Beachte, dass sich in der Zeit viel geändert haben kann und wird! Nicht alles lässt sich immer noch so anwenden, manches passt auch gar nicht mehr.

About chaosblog

3 comments on “ASP.NET – Headergrafik bei sortiertem Gridview

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.