2011-03-31 31 views
5

我與語法gremlins與WebGrid掙扎。在我正常的剃刀標記I格式的日期我的foreach裏面,像這樣Webgrid日期時間和設置樣式的格式

<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", ?, ?) 

回答

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) 
      ) 
) 
+0

這是行不通的。編譯器錯誤。再試一次。 – 2011-07-19 04:21:40

+0

修好了。這應該現在工作。 – Nandu 2012-02-10 03:20:33

0

嘗試使用此選項獲得更好的全球化

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

這也不起作用。人們,請檢查你的代碼。運行它需要一分鐘。如果你確保你發佈正確的代碼,這對我們這些試圖理解和學習語法的人來說確實有幫助。 – 2011-07-19 04:32:51

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> 
     ), 
+0

將@ item.complianceedatetime改爲@ @ item.Complianceedatetime會使頂部片段正常工作。否則,第二個代碼段將起作用。 – 2011-12-10 01:43:11

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)