Webgrid日期时间和设置样式的格式

时间:2011-03-31 17:48:22

标签: razor webgrid

我在使用WebGrid时遇到语法问题。在我正常的剃刀标记中,我在我的foreach中格式化日期,如此

<td>
        @String.Format("{0:MM/dd/yy hh:mm:ss}", item.complianceedatetime)
    </td>

我将列宽设置为

<th width="150px">
        Download Date/Time
    </th>

如何使用Grid.Column语法

执行此操作
grid.Column("complianceedatetime", "Download Date/Time", ?, ?)

4 个答案:

答案 0 :(得分:8)

@grid.GetHtml(
    column: grid.Columns(
              grid.Column("Complianceedatetime", "Download Date / Time", 
format: @<text>@item.complianceedatetime.ToString("MM/dd/yy hh:mm:ss")</text>)
            )
)

我知道这很有效,因为我的项目中有这个确切的代码:

grid.Column(
            "PublishDate",
            canSort: true,
            format: @<text>@item.PublishDate.ToString("MM/dd/yyyy")</text>
        ),

答案 1 :(得分:3)

如果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)

答案 2 :(得分:1)

你可以试试这个:

@grid.GetHtml(
    column: grid.Columns(
              grid.Column("Complianceedatetime", "Download Date / Time", format: (item) => string.Format("{0:MM/dd/yy hh:mm:ss}", item.complianceedatetime)
            )
)

答案 3 :(得分:0)

尝试此选项以获得更好的全球化

    @grid.GetHtml(
        column: grid.Columns(
                  grid.Column("Complianceedatetime", "Download Date / Time", 
                  format: @@String.Format("{0:g}",complianceedatetime))
                )
    )