17

私は Web グリッドを持っていますが、かみそりのシンテックスを使用していません。むしろ、.aspx フォームを使用しています。コードは以下です。

<%
    var grid = new WebGrid(Model,defaultSort:"PublishDate",rowsPerPage:10);
    %>
    <%: 
       grid.GetHtml(
                          tableStyle: "wGrid",
                            headerStyle: "wGridHeader",
                    alternatingRowStyle: "alt",
                    columns: grid.Columns(
                    grid.Column("Title", canSort: false),
                    grid.Column("PublishDate", "Published on"),
                    grid.Column("CategoryName", "Category"),
                    grid.Column(format: (item) => Html.ActionLink("Details", "Browse", new { id = item.Title }))
                  )
               )
    %>

ここで、「PublishDate」列を「dd-MMM-yyyy」のような形式にフォーマットしたいと思います。これを行う方法はありますか?

4

4 に答える 4

41
grid.Column(
    "PublishDate", 
    "Published on",
    format: (item) => string.Format("{0:dd-MMM-yyyy}", item.PublishDate)
)
于 2011-09-06T22:06:34.530 に答える
11

DateTime プロパティが (null を含むことができる) として定義されている場合:

public DateTime? WorkedDate { get; set; }

次の形式を使用します。

grid.Column("WorkedDate", "Last Worked On",
   format: (item) => item.WorkedDate != null 
   ? item.WorkedDate.ToString("MM/dd/yy") : "", canSort: true)

それ以外の場合、以下のように定義されている場合 (null にすることはできません)、実際の日付または .MinDate がデフォルトとして設定されます。

public DateTime WorkedDate { get; set; }

使用形式:

grid.Column("WorkedDate", "Last Worked On",
   format: (item) => item.WorkedDate != DateTime.MinValue ? 
   item.WorkedDate.ToString("MM/dd/yy") : "", canSort: true)
于 2012-08-09T16:59:37.877 に答える
5

これは私にとってはうまくいき、Null値を許可します

grid.Column("End_Date",format: item => ((item.End_Date == null) ? "" : item.End_Date.ToString("MM/dd/yyyy"))),
于 2012-05-28T05:08:49.627 に答える
0

これは私のために働いた:

grid.Column("Date_Of_Birth", "Date Of Birth", format: item => ((item.Date_Of_Birth == null) ? "" : item.Date_Of_Birth.ToString("MM/dd/yyyy")))
于 2017-06-21T07:23:22.187 に答える