2012-05-07 4 views
0

Вот мой WebGrid .Я пытаюсь добавить столбец «EndDate», который отображает вычисленное значениекомпьютерной колонки на MVC3 бритвой WebGrid

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 вместо третьей колонке.

Enddate = StartDate+TimeSpan.FromSeconds(EndOffsetSeconds) 

На 3-й колонке я хочу показать результат StartDate + TimeSpan.FromSeconds (EndOffsetSeconds)

где StartDate имеет тип DateTime и EndOffsetSeconds имеет тип Integer

Пример DateTime StartDate = 05/20/2012 12:15:03 int EndOffsetSeconds = 124000;

Как добавить вычисленный столбец с помощью Webgrid?

Спасибо заранее

ответ

2

Вы можете добавить свойство к вашей модели и сделать расчет в методе GET.

class MyRecord 
{ 
    public DateTime StartDate {get;set;} 
    public int EndOffsetSeconds {get;set;} 

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

Затем просто укажите расчетное свойство в вашей сетке.