zoukankan      html  css  js  c++  java
  • DataFormatString的使用

    DataFormatString的使用

    引自:http://hi.baidu.com/air_net/blog/item/16b22280a00574dfbc3e1e41.html

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

    <asp:BoundField HeaderText="面积" DataField="TotalRate" DataFormatString="{0:F2}" 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

  • 相关阅读:
    FJNU 1151 Fat Brother And Geometry(胖哥与几何)
    FJNU 1157 Fat Brother’s ruozhi magic(胖哥的弱智术)
    FJNU 1159 Fat Brother’s new way(胖哥的新姿势)
    HDU 3549 Flow Problem(最大流)
    HDU 1005 Number Sequence(数列)
    Tickets(基础DP)
    免费馅饼(基础DP)
    Super Jumping! Jumping! Jumping!(基础DP)
    Ignatius and the Princess IV(基础DP)
    Keywords Search(AC自动机)
  • 原文地址:https://www.cnblogs.com/sgivee/p/1739126.html
Copyright © 2011-2022 走看看