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