知识在于积累(.NET之路……)

导航

ASP.NET之GridView的BoundField.DataFormatString 属性

  语法:

  public virtual string DataFormatString { get; set; }

  属性值:

  类型:System.String

  指定字段值的显示格式的格式化字符串。 默认值为空字符串 (""),表示尚无特殊格式设置应用于该字段值。

  备注

  使用 DataFormatString 属性为 BoundField 对象中显示的值指定自定义显示格式。 如果未设置 DataFormatString 属性,则字段的值在显示时不使用任何特殊的格式设置。

  (注意

  在 3.5 以前的 ASP.NET 版本中,您必需将 HtmlEncode 属性设置为 false 以设置非字符串数据类型的字段的格式。 否则,将在应用 DataFormatString 属性中存储的格式字符串之前,通过默认转换方法将字段值转换为字符串。

  )

  默认情况下,只有当包含 BoundField 对象的数据绑定控件处于只读模式时,格式化字符串才应用到字段值。 若要在编辑模式中将格式化字符串应用到字段值,请将 ApplyFormatInEditMode 属性设置为 true。

  格式化字符串可以为任意字符串,并且通常包含字段值的占位符。 例如,在格式化字符串 Item Value: {0} 中,当 BoundField 对象中显示字符串时,字段的值会代替 {0} 占位符。 格式化字符串的剩余部分显示为文本。

  如果格式化字符串不包含占位符,则只有格式化字符串本身包含在最终显示文本中(不包含来自数据源的字段值)。 如果占位符是使用大括号括起来的 0(零),如上例中所示,该字段值可以通过默认方法转换为字符串。 您可以向零追加指定字段值格式如何设置的字符串。 例如,用于数值字段的占位符 {0:C} 指定字段的值应该转换为货币格式。

  使用 Format 方法应用格式设置。 左大括号之后的数是该方法使用的语法的一部分,指示该占位符在一系列值中应使用的一个。 由于每个单元格中只有一个字段值,因此左大括号之后的数只能设置为 0。

  下表列出用于数值字段的标准格式字符。 这些格式字符不区分大小写,但 X 除外,它以指定的大小写形式显示十六进制字符。 您可以向大多数格式字符追加数字,以指定需要显示多少有效数字或小数位。

  注意 

  在大多数情况下,格式设置取决于服务器的区域性设置。 这些示例用于 en-US 的区域设置。

   

格式字符 说明 示例

  Cc

  

  以货币格式显示数值。 您可以指定小数位数。

  

  格式:{0:C}

  123.456 -> $123.46

  格式:{0:C3}

  123.456 -> $123.456

  

  Dd

  

  以十进制格式显示整数值。 您可以指定位数。 (尽管该类型称为“小数”,但数字格式化为整数。)

  

  格式:{0:D}

  1234 -> 1234

  格式:{0:D6}

  1234 -> 001234

  

  Ee

  

  以科学记数法(指数)格式显示数值。 您可以指定小数位数。

  

  格式:{0:E}

  1052.0329112756 -> 1.052033E+003

  格式:{0:E2}

  -1052.0329112756 -> -1.05e+003

  

  Ff

  

  以固定格式显示数值。 您可以指定小数位数。

  

  格式:{0:F}

  1234.567 -> 1234.57

  格式:{0:F3}

  1234.567 -> 1234.567

  

  Gg

  

  以常规格式显示数值(最紧凑的定点表示法或科学记数法)。 您可以指定有效数字位数。

  

  格式:{0:G}

  -123.456 -> -123.456

  格式:{0:G2}

  -123.456 -> -120

  

  Nn

  

  以数字格式显示数值(包括组分隔符和可选的负号)。 您可以指定小数位数。

  

  格式:{0:N}

  1234.567 -> 1,234.57

  格式:{0:N4}

  1234.567 -> 1,234.5670

  

  Pp

  

  以百分比格式显示数值。 您可以指定小数位数。

  

  格式:{0:P}

  1 -> 100.00%

  格式:{0:P1}

  .5 -> 50.0%

  

  Rr

  

  以往返格式显示 SingleDouble 或 BigInteger 值。

  

  格式:{0:R}

  123456789.12345678 -> 123456789.12345678

  

  Xx

  

  以十六进制格式显示整数值。 您可以指定位数。

  

  格式:{0:X}

  255 -> FF

  格式:{0:x4}

  255 -> 00ff

  

  有关更多信息以及演示如何设置用于其他区域性值的格式的示例,请参见标准数字格式字符串。 您也可以创建自定义数字格式字符串。 有关更多信息,请参见自定义数字格式字符串。

  下表列出用于 DateTime 字段的格式字符。 这些格式规范的大多数会导致不同的输出,具体取决于区域性设置。 这些示例用于具有 en-US 区域性设置的值为 6/15/2009 1:45:30 PM 的 DateTime。

  

  

  

 
 

  

  式字符 

  

  说明

  

  示例

  

   d

  

  短日期模式。

  

  格式:{0:d}

  6/15/2009 1:45:30 PM -> 6/15/2009

  

   D

  

  长日期模式。

  

  格式:{0:D}

  6/15/2009 1:45:30 PM ->Monday, June 15, 2009

  

   f

  

  完整日期/时间模式(短时间)。

  

  格式:{0:f}

  6/15/2009 1:45:30 PM -> Monday, June 15, 2009 1:45 PM

  

   F

  

  完整日期/时间模式(长时间)。

  

  格式:{0:F}

  6/15/2009 1:45:30 PM -> Monday, June 15, 2009 1:45:30 PM

  

   g

  

  常规日期/时间模式(短时间)。

  

  格式:{0:g}

  6/15/2009 1:45:30 PM -> 6/15/2009 1:45 PM

  

   G

  

  常规日期/时间模式(长时间)。

  

  格式:{0:G}

  6/15/2009 1:45:30 PM -> 6/15/2009 1:45:30 PM

  

  Mm

  

  月/日模式。

  

  格式:{0:M}

  6/15/2009 1:45:30 PM -> June 15

  

  Oo

  

  往返日期/时间模式。

  

  格式:{0:o}

  6/15/2009 1:45:30 PM -> 2009-06-15T13:45:30.0900000

  

  Rr

  

  RFC1123 模式(有关信息,请参见 DateTimeFormatInfo.RFC1123Pattern)。

  

  格式:{0:R}

  6/15/2009 1:45:30 PM -> Mon, 15 Jun 2009 20:45:30 GMT

  

   s

  

  可排序日期/时间模式。

  

  格式:{0:s}

  6/15/2009 1:45:30 PM -> 2009-06-15T13:45:30

  

   t

  

  短时间模式。

  

  格式:{0:t}

  6/15/2009 1:45:30 PM -> 1:45 PM

  

   T

  

  长时间模式。

  

  格式:{0:T}

  6/15/2009 1:45:30 PM -> 1:45:30 PM

  

   u

  

  通用可排序日期/时间模式。

  

  格式:{0:u}

  6/15/2009 1:45:30 PM -> 2009-06-15 20:45:30Z

  

   U

  

  通用完整日期/时间模式。

  

  格式:{0:U}

  6/15/2009 1:45:30 PM -> Monday, June 15, 2009 8:45:30 PM

  

  Yy

  

  年月模式。

  

  格式:{0:Y}

  6/15/2009 1:45:30 PM -> June, 2009

  

  

  

  有关更多信息以及演示如何设置用于其他区域性值的格式的示例,请参见标准日期和时间格式字符串。 您也可以创建自定义日期和时间格式字符串。 有关更多信息,请参见自定义日期和时间格式字符串。

  示例:

<%@ Page Language="C#" AutoEventWireup="true"

  CodeFile="Default.aspx.cs" Inherits="_Default" %>

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head runat="server">

  <title></title>

  </head>

  <body>

  <form id="form1" runat="server">

  <div>

  <asp:SqlDataSource ID="SqlDataSource1" runat="server"

  ConnectionString="<%$ ConnectionStrings:AWLTConnectionString %>"

  SelectCommand="SELECT ProductID, Name, ProductNumber,

  ListPrice, Weight, ModifiedDate FROM SalesLT.Product">

  </asp:SqlDataSource>

  <asp:GridView ID="GridView1" runat="server"

  AutoGenerateColumns="False"

  DataKeyNames="ProductID" DataSourceID="SqlDataSource1">

  <Columns>

  <asp:BoundField DataField="ProductID"

  HeaderText="ProductID"

  InsertVisible="False" ReadOnly="True"

  SortExpression="ProductID"

  DataFormatString="{0:D6}" />

  <asp:BoundField DataField="Name"

  HeaderText="Name"

  SortExpression="Name"

  DataFormatString="{0}" />

  <asp:BoundField DataField="ProductNumber"

  HeaderText="ProductNumber"

  SortExpression="ProductNumber"

  DataFormatString= "#{0}" />

  <asp:BoundField DataField="ListPrice"

  HeaderText="ListPrice"

  SortExpression="ListPrice"

  DataFormatString="{0:C}" />

  <asp:BoundField DataField="Weight"

  HeaderText="Weight"

  SortExpression="Weight"

  DataFormatString="{0:F3}" />

  <asp:BoundField DataField="ModifiedDate"

  HeaderText="ModifiedDate"

  SortExpression="ModifiedDate"

  DataFormatString="{0:d}" />

  </Columns>

  </asp:GridView>

  </div>

  </form>

  </body>

  </html>

    

posted on 2011-04-28 11:31  汤尼  阅读(1001)  评论(0编辑  收藏  举报