DataFormatString 屬性語法如下:
DataFormatString="{0:格式字符串}"
我們知道在DataFormatString 中的 {0} 表示數據本身,而在冒號後面的格式字符串代表所們希望數據顯示的格式;另外在指定的格式符號後可以指定小數所要顯示的位數。例如原來的數據爲「1.56」,若格式設定爲 {0:N1},則輸出爲「1.5」。其常用的數值格式如下表所示:
格式字符串 輸入 結果
"{0:C}" 12345.6789 $12,345.68
"{0:C}" -12345.6789 ($12,345.68)
"{0:D}" 12345 12345
"{0:D8}" 12345 00012345
"{0:E}" 12345.6789 1234568E+004
"{0:E10}" 12345.6789 1.2345678900E+004
"{0:F}" 12345.6789 12345.68
"{0:F0}" 12345.6789 12346
"{0:G}" 12345.6789 12345.6789
"{0:G7}" 123456789 1.234568E8
"{0:N}" 12345.6789 12,345.68
"{0:N4}" 123456789 123,456,789.0000
"Total: {0:C}" 12345.6789 Total: $12345.68
其常用的日期格式如下表所示:
格式 說明 輸出格式
{0:yyyy-MM-dd} 2009-03-17
{0:d} 精簡日期格式 2009-3-17
{0:D} 詳細日期格式 2009年3月17日
{0:f} 完整格式 2009年3月17日 15:43
{0:F} 完整日期時間格式 2009年3月17日 15:43:56
{0:g} 一般格式 2009-3-17 15:43
{0:G} 一般格式 2009-3-17 15:43:56
{0:m}, {0:M} 月日格式 3月17日
{0:s} 適中日期時間格式 2009-03-17T15:43:56
{0:t} 精簡時間格式 15:43
{0:T} 詳細時間格式 15:43:56
注意:在ASP.NET 2.0中應設置HtmlEncode爲false,否則DataFormatString不起作用
例:<asp:BoundField DataField="SubTime" DataFormatString="{0:f}" HeaderText="SubTime" SortExpression="SubTime" HtmlEncode="False" />
這是從網上找來的資料,今天實踐時因爲用到日期格式,且只想顯示“小時:分鐘:秒鐘”的格式,於是將DataFormatString設爲{0:hh:mm:ss},結果發現如果是下午兩點鐘,用二十四小時制的話照理說應該是顯示成“14:00:00”,結果卻顯示成“02:00:00”了,把DataFormatString設爲{0:HH:mm:ss}之後才達到預期的目的。這是一點小區別,順便記錄。