0

これが私のwebgridです。計算された値を表示する列「EndDate」を追加しようとしています

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

                    ));

3 番目の列の代わりに 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 で計算列を追加する方法は?

前もって感謝します

4

1 に答える 1

2

モデルにプロパティを追加し、getメソッドで計算を行うことができます。

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

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

次に、グリッド内の計算されたプロパティをポイントします。

于 2012-05-07T19:58:23.117 に答える