GridView 数据显示格式

首先把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>

 

你可能感兴趣的:(c,Date,.net,asp,Delphi)