Gridview中设置绑定字段的显示格式

先看一段界面文件代码:    
           <asp:BoundField HeaderText="结束时间" DataField="end_time">
                    <ItemStyle BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" HorizontalAlign="Center" />
                    <HeaderStyle BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" />
                </asp:BoundField>         

这样绑定了日期时间类型的字段end_time之后,运行出来的结果是显示的日期时间类型,如果只想要日期,则设置它的DataFormatString为{0:d};如果只想要时间,则设置它的DataFormatString为{0:T}。需要注意的是,只设置DataFormatString属性是不行的,还要把HtmlEncode属性设置为False才能正确显示出你想要的格式,这是由于2.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
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

那如果想让日期按照类似2009-8-12显示,则可以做如下设置
<asp:BoundField DataField="DepartureDate"  DataFormatString="{0:yyyy-MM-dd}" HeaderText="出发日期" SortExpression="DepartureDate" />

posted @ 2009-08-12 11:34  不白活一回  阅读(1432)  评论(0编辑  收藏  举报