MVC3 剃须刀网络网格上的计算列



这是我的网络网格。我正在尝试添加显示计算值的"结束日期"列

var grid = new WebGrid(canPage: true, rowsPerPage: Model.PageSize, canSort: true, ajaxUpdateContainerId: "grid");
    grid.Bind(Model.MyRecords, rowCount: Model.TotalRecords, autoSortAndPage: false);
    grid.Pager(WebGridPagerModes.All);
    @grid.GetHtml(htmlAttributes: new { id = "grid" },
                        columns: grid.Columns(
                        grid.Column("StartDate", "Live Date"),
                        grid.Column("EndOffsetSeconds", "End in Seconds"),
                        grid.Column("StartDate"+TimeSpan.FromSeconds("OffsetSeconds"), "Difference"),
                        grid.Column(header: "Action", format: (item) => Html.ActionLink("Edit", "Edit", new { id = item.ID })),
                        grid.Column(format: (item) => Html.ActionLink("Copy", "CopyRecord", new { id = item.ID }))
                    ));

我想显示结束日期代替第三列。

Enddate = StartDate+TimeSpan.FromSeconds(EndOffsetSeconds)

在第 3 列上,我想显示 StartDate+TimeSpan.FromSeconds(EndOffsetSeconds) 的结果

其中 StartDate 为 DateTime 类型,EndOffsetSeconds 的类型为 Integer

示例日期时间开始日期 =05/20/2012 12:15:03int 结束偏移秒数=124000;

如何使用网络网格添加计算列?

提前谢谢你

可以向模型添加属性,并在 get 方法中进行计算。

class MyRecord
{
  public DateTime StartDate {get;set;}
  public int EndOffsetSeconds {get;set;}
  public DateTime CalculatedEndTime
  {
    get
    {
      return StartDate + TimeSpan.FromSeconds( EndOffsetSeconds );
    }
  }
}

然后,只需指向网格中的计算属性。

最新更新