Webgrid Формат даты и времени и стиль настройки - PullRequest
5 голосов
/ 31 марта 2011

Я борюсь с синтаксисом гремлинов с помощью 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 ]

8 голосов
/ 28 августа 2011
@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>
        ),
3 голосов
/ 11 августа 2012

Если 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)
1 голос
/ 14 апреля 2011

Вы можете попробовать это:

@grid.GetHtml(
    column: grid.Columns(
              grid.Column("Complianceedatetime", "Download Date / Time", format: (item) => string.Format("{0:MM/dd/yy hh:mm:ss}", item.complianceedatetime)
            )
)
0 голосов
/ 16 мая 2011

Попробуйте эту опцию для лучшей глобализации

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