2012-05-07 15 views
0

ここでは.Iは、カラム、私は3番目の列の代わりに、終了日を表示したい計算列

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 })) 

        )); 

計算値を表示する「終了日」を追加しようとしています私のWebGridのです。私は開始日+ TimeSpan.FromSecondsの結果(EndOffsetSeconds)を表示する第3カラム上

Enddate = StartDate+TimeSpan.FromSeconds(EndOffsetSeconds) 

開始日は、日付と時刻タイプとEndOffsetSecondsである

はInteger型である

例のDateTime開始日= 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); 
    } 
    } 
} 

グリッドの計算されたプロパティをポイントするだけです。