DisplayFormat屬性

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 

常用的日期時間格式: 

格式 說明 輸出格式 

d 精簡日期格式 MM/dd/yyyy 

D 詳細日期格式 dddd, MMMM dd, yyyy 

f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm 

完整日期時間格式 

(long date + long time) 

dddd, MMMM dd, yyyy HH:mm:ss 

g 一般格式 (short date + short time) MM/dd/yyyy HH:mm 

G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss 

m,M 月日格式 MMMM dd 

s 適中日期時間格式 yyyy-MM-dd HH:mm:ss 

t 精簡時間格式 HH:mm 

T 詳細時間格式 HH:mm:ss

最後寫一下中國常用的格式

{0:yyyy-MM-dd}

 

 

 

 

用DataFormatString格式化GridView 

在GridView裏面顯示數據,要顯示的數據有好多位小數,就想讓它只顯示兩位小數,在delphi裏,直接用DisplayFormat就行了,在.net中,查了半天msdn,發現使用DataFormatString是可以實現這個功能的,但是怎麼設置就不起作用,最後發現,由於2.0出於安全性的考慮,還要同時設置HtmlEncode = false,才能夠使DataFormatString生效.

留個記號,下次用的時候,就不用浪費N多時間了.

還有還有,DataFormatString = "{0:F}",是默認格式,顯示兩位小數,如果需要顯示的小數位數爲其他值,DataFormatString = "{0:Fn}"即可.

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

常用的日期時間格式:

格式 說明 輸出格式 

d 精簡日期格式 MM/dd/yyyy 

D 詳細日期格式 dddd, MMMM dd, yyyy 

f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm 

完整日期時間格式 

(long date + long time) 

dddd, MMMM dd, yyyy HH:mm:ss 

g 一般格式 (short date + short time) MM/dd/yyyy HH:mm 

G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss 

m,M 月日格式 MMMM dd 

s 適中日期時間格式 yyyy-MM-dd HH:mm:ss 

t 精簡時間格式 HH:mm 

T 詳細時間格式 HH:mm:ss

 

 

 

在我們從業務邏輯層獲得數據實體時候,接下來的事情就是要綁定到控件中。數據實體中的一些字段可以直接綁定到界面中,但是有一些字段需要重新格式化格式。比如貨幣單位字段,需要顯示貨幣符號和每隔三位顯示分隔符;再比如日期字段,數據庫中存放的是日期和時間,但是在界面上需要按照XXXX年XX月XX日的格式顯示。這時候我們就用到了DataFormatString屬性。

<asp:GridView ID="grvResult" runat="server" AutoGenerateColumns="False" Width="100%">

    <Columns>

        <asp:BoundField HeaderText="預定日期" DataField="OperationDate" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False">

        </asp:BoundField>     

        <asp:BoundField HeaderText="訂單總計" DataField="TotalRate" DataFormatString="{0:C}" HtmlEncode="False">

        </asp:BoundField>

    </Columns>

</asp:GridView>

例如上面的代碼展示了日期和貨幣兩種綁定方式。DataFormatString中的{0}是固定的格式,這和String.Fromat(“{0}”, someString)中的{0}是一個用法,表示綁定上下文的參數索引編號。然後,在後面加入格式化字符串,具體的使用方法可以參考MSDN。

這裏需要注意以下幾點

1. 在GridView中的asp:BoundField使用DataFormatString必須設置屬性HtmlEncode="False",否則不起作用。

2. 如果需要使用日期類型的格式化字符串,必須數據實體中對應的字段也應該日起類型的。

3. 格式化字符串C代表貨幣單位,需要綁定的數據類型應該是數字類型的。如果是字符串類型的不起作用,需要手動添加格式化字符串爲DataFormatString="¥{0:C}"。 

 
分類: 學習
好文要頂 關注我 收藏該文  
0
0
 
 
 
« 上一篇: net字符串倒置和冒泡排序
» 下一篇: dev 控件獲得所有的EFDEVGRID
posted @ 2014-12-17 14:14  一顆白菜(暱稱)  閱讀(3393)  評論(0)  編輯  收藏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章