2012-03-30 66 views
2

我有一个带有日期列的webgrid。日期应显示为链接,并且该列也应该可排序。Webgrid - 列标题不可点击

如果我添加如下所示的日期列,列标题“订单日期”将以纯文本显示。

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

如果我没有ActionLink的添加日期列,列标题“订购日期”出来作为一个链接,我可以点击排序。

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

我在做什么错?如何让列标题可点击/排序并将日期字段作为链接?

谢谢。

回答

1

使用COLUMNNAME属性。

 columnName: "orderdate"; 

这里是一个简单的语法

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

,最重要的你应该列名在数据库中

+0

谢谢。就是这样。添加columnName的作品。 – user471317 2012-03-30 16:47:40

+0

我很高兴可以帮忙,我自己被这几天卡住了bak:P – Yasser 2012-03-31 05:12:23

0

添加到您的网格

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

它将使排序

+0

是本列的EXACT名字我canSort为真。所有其他列都是可排序的。它只是这一列,并且只有当我有行动链接。看起来像数据在锚标签内时,webgrid不允许在该列上排序。 – user471317 2012-03-30 01:38:45

+0

难道你是在HtmlString中包装Html.ActionLink。 ActionLink已经返回MvcHtmlString,所以你不应该创建一个新的HtmlString – TGH 2012-03-30 01:55:49