Gridview利用DataFormatString屬性設定資料格式

來源:互聯網
上載者:User

from: http://blog.sina.com.cn/s/print_4a5e327701000b56.html

首先把Gridview的AutoGenerateColumns屬性設為False(預設是False),DataField選擇相應的欄位,特別需要注意的是要把需要設定的欄位的HtmlEncode屬性設定為False,否則所設定的格式將無法顯示,然後就可以設定每個欄位的 DataFormatString屬性來輸出不同的格式了。

 DataFormatString 屬性文法如下: {A:B}

如:DataFormatString="{0:格式字串}"

 冒號前的值(常規樣本中為 A)指定在從零開始的參數列表中的參數索引。此值只能設定為 0,因為每個儲存格中只有一個值。

冒號後的字元(常規樣本中為 B)指定值的顯示格式。另外在指定的格式符號後可以指定小數所要顯示的位元。例如原來的資料為「1.56」,若格式設定為 {0:N1},則輸出為「1.5」。其常用的數值格式如下表所示:

格式字元        說明

C
    以貨幣格式顯示數值。
 
D
    以十進位格式顯示數值。
 
E
    以科學記號標記法(指數)格式顯示數值。
 
F
    以固定格式顯示數值。
 
G
    以常規格式顯示數值。
 
N
    以數字格式顯示數值。
 
X
    以十六進位格式顯示數值。
  

下面是一些樣本,供大家參考:
格式字串         輸入         結果
"{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    精簡日期格式       yyyy-MM-dd
D    詳細日期格式       yyyy年MM月dd日
f    完整格式          (long date + short time) dddd, MMMM dd, yyyy HH:mm
F   完整日期時間格式 (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}將顯示與{0:d}相同的格式,要注意的是MM必須是大寫,因為MM大寫表示的是月份,而mm小寫表示的時間裡的分鐘。

 用DataFormatString格式化GridView

在GridView裡面顯示資料,要顯示的資料有好多位小數,就想讓它只顯示兩位小數,在delphi裡,直接用DisplayFormat就行了,在.net中,查了半天msdn,發現使用DataFormatString是可以實現這個功能的,但是怎麼設定就不起作用,最後發現,由於2.0出於安全性的考慮,還要同時設定HtmlEncode = false,才能夠使DataFormatString生效.留個記號,下次用的時候,就不用浪費N多時間了.還有還有,DataFormatString = "{0:F}",是預設格式,顯示兩位小數,如果需要顯示的小數位元為其他值,DataFormatString = "{0:Fn}"即可.例:<Columns>
                <asp:BoundField DataField="EmployeeId" />
                <asp:BoundField DataField="LastName" />
                <asp:BoundField DataField="BirthDate" HtmlEncode ="false" DataFormatString="{0:yyyy-MM-dd}" />
</Columns>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.