`
yfdong21
  • 浏览: 62114 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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}" />

格式日期: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使用介绍

    下面将详细解释DataFormatString属性的使用方法和常见格式字符串的含义。 首先,DataFormatString属性的基本语法是`DataFormatString="{0:格式字符串}"`。在这里,`{0}`代表绑定的数据本身,而冒号后面的部分则是...

    ASP.NET GridView控件在列上格式化时间及DataFormatString使用

    为了解决这个问题,我们可以利用GridView的BoundField控件的DataFormatString属性。 DataFormatString属性允许我们指定一个格式字符串,用于控制日期和时间字段的显示格式。在C#和VB.NET中,我们可以使用.NET ...

    关于.net中dataFormatString的实例

    本文将通过一系列示例来详细介绍`.NET`中`dataFormatString`的使用方法。 #### 数值格式化 数值格式化是`dataFormatString`中最常见的应用场景之一。通过对数值的格式化,可以更加直观地展示数字信息。 - **N...

    《ASP.NET与数据库程序设计》

    使用DataFormatString 使用Format相关函数 9-2-2资料转换 Ctype函数 ToString Null的处理 避免错误的设计 第十章结构化设计 10-1使用Pagelet 10-1-1 Pagelet的基本架构 Pagelet...

    Gridview利用DataFormatString属性设置数据格式的方法

    本文实例讲述了Gridview利用DataFormatString属性设置数据格式的方法。分享给大家供大家参考,具体如下: 首先把Gridview的AutoGenerateColumns属性设为False(默认是False),DataField选择相应的字段,特别需要...

    asp.net DataFormatString格式化GridView

    在.net中,查了半天msdn,发现使用DataFormatString是可以实现这个功能的,但是怎么设置就不起作用,最后发现,由于2.0出于安全性的考虑,还要同时设置HtmlEncode = false,才能够使DataFormatString生效. 留个记号,下次用...

    C#常用的数据格式转换汇总

    用DataFormatString格式化GridView 在 GridView里面显示数据,要显示的数据有好多位小数,就想让它只显示两位小数,在delphi里,直接用DisplayFormat就行了, 在.net中,查了半天msdn,发现使用DataFormatString是可以实现...

    Asp.net中时间格式化的几种方法

    这里的`DataFormatString`参数使用了C#的字符串格式化语法,其中`{0}`代表绑定的数据字段,`yyyy-MM-dd HH:mm`是期望的时间格式。 #### 1.2 BoundField与DataFormatString 类似地,使用`BoundField`控件也能实现...

    asp.net 中的Gridview控件的使用

    - 国际化:支持多语言,通过DataFormatString和CultureInfo对象设置日期、数字等格式。 3. GridView的高级用法: - 数据模板:TemplateField允许自定义列的内容,可以嵌入其他控件如Label、TextBox等,实现复杂的...

    GridView使用全集(主要是方法实现讲解)

    通过`DataFormatString`属性,可以指定列数据的显示格式,如日期、货币等。 11. **用“...”替换超长字符串** 如果字段内容过长,可以使用`ItemTemplate`中的`Label`控件,结合CSS实现截取字符串并显示省略号。 ...

    GridView自定义显示的日期格式

    首先,我们需要在GridView的`Columns`部分添加一个`BoundField`,并设置`DataField`为需要格式化的日期字段,然后使用`DataFormatString`来指定日期的显示格式。 ```xml &lt;asp:BoundField DataField="CreationDate" ...

    gridview 控件中的日期使用

    在这个主题中,“gridview 控件中的日期使用”主要关注如何在GridView中显示日期数据,并优化日期格式,比如去掉日期后面的“00:00:00”这一时间部分。 1. **数据绑定**:首先,我们需要将数据绑定到GridView。这...

    GridView使用大全

    - 使用`DataFormatString`属性格式化特定列的数据。 10. **超长字符串截断显示** - 通过`DataFormatString`结合`{0, -10}`设置,用“...”替换超出长度的文本。 11. **换行处理** - 使用`&lt;pre&gt;`标签或者CSS的`...

    GridView 72般绝技

    - 使用`DataFormatString`配合`"{0:...}"`格式化字符串,以“...”代替超出长度的文本。 11. **一般换行与强制换行**: - 利用HTML转义字符` `进行强制换行,或者在`DataFormatString`中使用`"{0}{1}"`插入换...

    <.net实例>--gridview使用大全

    - 使用 `ItemTemplate` 和 `DataFormatString` 属性。 - 示例代码略。 **解释:** - 通过设置 `DataFormatString` 属性来自定义数据格式。 ##### 11. GridView 实现用“…”代替超长字符串 **示例:** - 使用 `...

Global site tag (gtag.js) - Google Analytics