在 我们从业务逻辑层获得数据实体时候,接下来的事情就是要绑定到控件中。数据实体中的一些字段可以直接绑定到界面中,但是有一些字段需要重新格式化格式。比 如货币单位字段,需要显示货币符号和每隔三位显示分隔符;再比如日期字段,数据库中存放的是日期和时间,但是在界面上需要按照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}" 。

使用 DataFormatString 属性来提供列中各项的自定义格式。

获取或设置指定列中各项的显示格式的字符串。指定列中各项的显示格式的格式化字符串,默认值为 String.Empty。

  数据格式字符串由以冒号分隔的两部分组成,形式为 { A : Bxx }。例如,格式化字符串 {0:F2} 将显示带两位小数的定点数。  

  整个字符串必须放在大括号内,表示它是格式字符串,而不是实际字符串。大括号外的任何文本均显示为实际文本。

  冒号前的值指定在从零开始的参数列表中的参数索引。值只能设置为 0,因为每个单元格中只有一个值。

  冒号后的字符指定值的显示格式。下表列出了一些常用格式。

格式字符 说明
C 以货币格式显示数值
D 以十进制格式显示数值。
E 以科学记数法(指数)格式显示数值。
F 以固定格式显示数值。
G 以常规格式显示数值。
N 以数字格式显示数值。
X 以十六进制格式显示数值。

MSDN示例:

<asp:BoundColumn HeaderText="Item" DataField="Item" ReadOnly="True" /> <asp:BoundColumn HeaderText="Quantity" DataField="Qty" DataFormatString="{0:N0}"/> <asp:BoundColumn HeaderText="Price" DataField="Price" DataFormatString="{0:c}" /> <asp:BoundColumn HeaderText="Weight" DataField="Weight" ReadOnly="True" DataFormatString="{0:F3}" /> <asp:BoundColumn HeaderText="Expires" DataField="Expires" ReadOnly="True" DataFormatString="{0:g}" />

格式日期:DataFormatString="{0: yyyy-MM-dd}"   

格式时间:DataFormatString="{0: hh:mm:ss}"  

说明:大写的M是 Month,小写的m是minute ,注意区别大小写,C#里其它时候了是这样的用法,要区别大小写。

格式字符串 输入 结果
"{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

<asp:BoundField DataField="Email"
                DataFormatString="<a href='mailto:{0}'>{0}</a>"

HeaderText="邮箱"
                SortExpression="Email"

HtmlEncode="false"/>

DataFormatString相关推荐

  1. datagrid DataFormatString

    DataFormatString格式字符串 DataFormatString="{0:格式字符串}" 在DataFormatString 中的 {0} 表示数据本身,而在冒号后面的 ...

  2. 【Vegas原创】GridView设定DataFormatString属性失效的解决方法

    我给GridView控件的各个BoundField数据行设定了DataFormatString属性,但是没有任何效用. 解决方法:将BoundField数据行的HtmlEncode属性设定成False ...

  3. DataFormatString={0:格式字符串} 用法

    具体用法: DataFormatString="{0:格式字符串}" 在DataFormatString 中的 {0} 表示数据本身,而在冒号后面的格式字符串代表所们希望数据显示的 ...

  4. DataFormatString格式化字符串的总结

    DataFormatString="{0:格式字符串}" 在GridView中如果直接设置DataFormatString为{0:d}浏览会发现并不会呈现预期的效果. 还要在Htm ...

  5. ASP.NET设置数据格式与String.Format和DataFormatString使用总结

    如: string.Format("{0:N2}", text) {0:d} YY-MM-DD {0:p} 百分比00.00% {0:N2} 12.68 {0:N0} 13 {0: ...

  6. gridview DataFormatString

    转 有个时间要在gridview中显示,但是保持着数据库中的是标准时间,很长,而且只需要显示日期,就想要格式化字符串,可是设置了DataFormatString就是不起作用,后来一查,原来要设置&qu ...

  7. 很实用的,GridView中使用DataFormatString属性格式化内容

    转自:http://www.cnblogs.com/skywind/archive/2007/06/28/798547.html DataFormatString格式字符串 DataFormatStr ...

  8. GridView 中 DataFormatString 的使用

    首先把Gridview的AutoGenerateColumns属性设为False(默认是False),DataField选择相应的字段,特别需要注意的是要把需要设置的字段的HtmlEncode属性设置 ...

  9. 转 C# GridView中DataFormatString属性的取值

    DataFormatString 属性语法如下: DataFormatString="{0:格式字符串}" 我们知道在DataFormatString 中的 {0} 表示数据本身, ...

  10. Gridview利用DataFormatString属性设置数据格式

    首 先把Gridview的AutoGenerateColumns属性设为False(默认是False),DataField选择相应的字段,特别需要注 意的是要把需要设置的字段的HtmlEncode属性 ...

最新文章

  1. 注意!Linux glibc再曝漏洞,可导致Linux软件劫持
  2. 好奇怪呀后面加什么标点_加标点
  3. 深入分析 Jdk - 集合容器 Map 与 Set
  4. java 10新_【Java基础】Java10 新特性
  5. C# IOThread
  6. 150万元重奖!阿里软件供应链安全大赛正式启动
  7. linux was8.5 无法启动wct.sh,WebSphere(was8.5) 在linux集群安装及部署.docx
  8. mac上调整phpstorm和webstorm的使用内存(默认是128m-750m) 避免卡顿
  9. 2017年校园招聘中国银行、中国邮政储蓄银行、中国移动笔试内容
  10. 本地组策略编辑器计算机配置,本地组策略编辑器
  11. 基于pymupdf的PDF与图片互转
  12. openid无效什么意思_通过微信公众号认识一个漂亮的女朋友是什么体验?
  13. Halting problem
  14. 如何在文字识别软件ABBYY中创建区域模板,处理大量相同内容?
  15. 【SPFA + DFS/BFS】最短路的一个拓展题
  16. php 感叹号有什么用,感叹号!代表什么意思?(标点符号的用法之感叹号)
  17. 规模因子和价值因子—进一步理解系统性风险
  18. 融合边界处理机制的学习型麻雀搜索算法
  19. 【bmzctf-crypto】--writeup
  20. 用学计算机的东西表达我爱你,“我爱你”不止“I love you” 还有10种浪漫的表达学起来!...

热门文章

  1. 使用procexp.exe查看线程详细信息
  2. 360浏览器导出Excel闪退BUG
  3. Excel2016保存文件闪退(在安装了Visio后)
  4. 使用keeplive处理socket网络异常断开
  5. LaTeX插入Visio绘图,文字模糊
  6. 计算机论文格式要求吗,论文格式
  7. java jsonp网络爬虫_JSOUP 爬虫
  8. linux 内核头文件、内核库文件
  9. idea设置背景颜色护眼色
  10. sql盲注 解决_sql盲注解决方案.docx