2012-03-30 13 views
2

Ich habe ein Webgrid mit einer Datumsspalte. Das Datum sollte als Link angezeigt werden, und die Spalte sollte auch sortierbar sein.Webgrid - Spaltenkopf nicht anklickbar

Wenn ich die Datumsspalte wie folgt hinzufüge, erscheint die Spaltenüberschrift "Bestelldatum" als einfacher Text.

grid.Column(
     header: "Order Date", 
     format: (item) => new HtmlString(Html.ActionLink((string)item.orderdate...) 
) 

Wenn ich die Datumsspalte ohne die Actionlink, die Spaltenüberschrift „Order Date“ add kommt als Link, und ich bin in der Lage, es zu sortieren, zu klicken.

grid.Column("orderdate", header: "Order Date") 

Was mache ich falsch? Wie kann ich die Spaltenüberschrift anklickbar/sortierbar machen und das Datumsfeld als Link haben?

Danke.

Antwort

1

Verwenden Sie die column Attribut zu sortieren.

 columnName: "orderdate"; 

hier ist eine einfache Syntax

grid.Column(
    header: "Order Date", 
    columnName: "orderDate", 
    format: (item) => new HtmlString(Html.ActionLink((string)item.orderdate...) 
) 

und vor allem Ihren column sollten in der Datenbank

+0

Danke. Das war's. Das Hinzufügen von columnName funktioniert. – user471317

+0

Ich bin froh, dass ich helfen konnte, ich selbst blieb mit diesem ein paar Tage fest bak: P – Yasser

0

Fügen Sie diese auf Ihrem Raster

var grid = new WebGrid(canPage: true, canSort: true); 

Es ermöglicht

+0

Ich habe CanSort wie wahr die EXACT Namen der Spalte vorhanden sein. Alle anderen Spalten sind sortierbar. Es ist nur diese eine Spalte und nur wenn ich den Aktionslink habe. Wenn sich die Daten in einem Anker-Tag befinden, kann Webgrid die Sortierung für diese Spalte nicht zulassen. – user471317

+0

Könnte es sein, dass Sie Html.ActionLink in einen HtmlString einfügen. ActionLink gibt bereits MvcHtmlString zurück, daher sollten Sie keinen neuen HtmlString erstellen müssen – TGH