【问题标题】:Webgrid - Column header not clickableWebgrid - 列标题不可点击
【发布时间】:2012-03-30 21:12:23
【问题描述】:

我有一个带有日期列的 webgrid。日期应该显示为一个链接,而且该列也应该是可排序的。

如果我像下面这样添加日期列,则列标题“订单日期”将以纯文本形式出现。

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

如果我在没有操作链接的情况下添加日期列,则列标题“订单日期”会作为链接出现,我可以单击对其进行排序。

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

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

谢谢。

【问题讨论】:

    标签: asp.net-mvc-3 webgrid


    【解决方案1】:

    使用 columnName 属性。

         columnName: "orderdate";
    

    这是一个简单的语法

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

    最重要的是,您的 columnName 应该是数据库中存在的列的EXACT名称

    【讨论】:

    • 我很高兴能帮上忙,我自己也被这几天困住了:P
    【解决方案2】:

    将此添加到您的网格中

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

    它将启用排序

    【讨论】:

    • 我认为 canSort 是真的。所有其他列都是可排序的。这只是这一列,并且只有当我有操作链接时。看起来当数据位于锚标记内时,webgrid 不允许对该列进行排序。
    • 可能是您将 Html.ActionLink 包装在 HtmlString 中。 ActionLink 已经返回 MvcHtmlString,因此您不必创建新的 HtmlString
    猜你喜欢
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 2022-07-17
    • 2021-06-22
    • 2015-02-04
    相关资源
    最近更新 更多