获取或设置指定列中各项的显示格式的字符串。[Visual Basic]
Overridable Public Property DataFormatString As String
[C#]
public virtual string DataFormatString {get; set;}
[C++]
public: __property virtual String* get_DataFormatString();
public: __property virtual void set_DataFormatString(String*);
[JScript]
public function get DataFormatString() : String;
public function set DataFormatString(String);
属性值
指定列中各项的显示格式的格式化字符串。默认值为 String.Empty。备注
使用 DataFormatString 属性来提供列中各项的自定义格式。数据格式字符串由以冒号分隔的两部分组成,形式为 {A:Bxx}。例如,格式化字符串 {0:D2} 将单元格格式化为显示一个包含两个小数位数的数字。注意   整个字符串必须放在大括号内,表示它是格式字符串,而不是原义字符串。大括号外的任何文本均显示为原义文本。
冒号前的值(常规示例中为 A)指定在从零开始的参数列表中的参数索引。注意   此值只能设置为 0,因为每个单元格中只有一个值。
冒号后的字符(一般示例中为 B)指定值的显示格式。下表列出了一些常用格式。格式字符 说明 
C  以货币格式显示数值。 
D  以十进制格式显示数值。 
E  以科学记数法(指数)格式显示数值。 
F  以固定格式显示数值。 
G  以常规格式显示数值。 
N  以数字格式显示数值。 
X  以十六进制格式显示数值。 注意   除 X 以指定的大小写形式显示十六进制字符之外,其他格式字符不区分大小写。
格式字符后的值(一般示例中为 xx)指定显示的值的有效位数或小数位数。有关格式化字符串的更多信息,请参阅格式设置概述。示例
[Visual Basic, C#, JScript] 下面的示例展示如何使用 DataFormatString 属性来为在 DataGrid 控件中显示价格的列指定货币格式。[Visual Basic] 
<%@ Import Namespace="System.Data" %>
 
<html>
   <script language="VB" runat="server">
   Function CreateDataSource() As ICollection
       Dim dt As New DataTable()
       Dim dr As DataRow
       
       dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
       dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
       dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
       
       Dim i As Integer
       For i = 0 To 8
           dr = dt.NewRow()
           
           dr(0) = i
           dr(1) = "Item " + i.ToString()
           dr(2) = 1.23 *(i + 1)
           
           dt.Rows.Add(dr)
       Next i
       
       Dim dv As New DataView(dt)
       Return dv
   End Function 'CreateDataSource
   Sub Page_Load(sender As Object, e As EventArgs)
       
       If Not IsPostBack Then
           ' Load this data only once.
           ItemsGrid.DataSource = CreateDataSource()
           ItemsGrid.DataBind()
       End If
   End Sub 'Page_Load
   </script>
<body>
 
   <form runat=server>
 
      <h3>BoundColumn Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="false"
           runat="server">         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>         <Columns>            <asp:BoundColumn
                 HeaderText="Number" 
                 DataField="IntegerValue">
            </asp:BoundColumn>            <asp:BoundColumn
                 HeaderText="Description" 
                 DataField="StringValue">
            </asp:BoundColumn>            <asp:BoundColumn
                 HeaderText="Price" 
                 DataField="CurrencyValue" 
                 DataFormatString="{0:c}">
            </asp:BoundColumn>         </Columns>
 
      </asp:DataGrid>
 
   </form>
 
</body>
</html>
[C#] 
<%@ Import Namespace="System.Data" %>
 
<html>
   <script language="C#" runat="server">
 
      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;
 
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
 
         if (!IsPostBack) 
         {
            // Load this data only once.
            ItemsGrid.DataSource= CreateDataSource();
            ItemsGrid.DataBind();
         }
      }
 
   </script>
 
<body>
 
   <form runat=server>
 
      <h3>BoundColumn Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="false"
           runat="server">         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>         <Columns>            <asp:BoundColumn
                 HeaderText="Number" 
                 DataField="IntegerValue">
            </asp:BoundColumn>            <asp:BoundColumn
                 HeaderText="Description" 
                 DataField="StringValue">
            </asp:BoundColumn>            <asp:BoundColumn
                 HeaderText="Price" 
                 DataField="CurrencyValue" 
                 DataFormatString="{0:c}">
            </asp:BoundColumn>         </Columns>
 
      </asp:DataGrid>
 
   </form>
 
</body>
</html>
[JScript] 
<%@ Import Namespace="System.Data" %>
 
<html>
   <script language="JScript" runat="server">
 
      function CreateDataSource() : ICollection
      {
         var dt : DataTable = new DataTable();
         var dr : DataRow;
 
         dt.Columns.Add(new DataColumn("IntegerValue", GetType(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", GetType(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", GetType(double)));
 
         for (var i : int = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         var dv : DataView = new DataView(dt);
         return dv;
      }
 
      function Page_Load(sender : Object, e : EventArgs) 
      {
 
         if (!IsPostBack) 
         {
            // Load this data only once.
            ItemsGrid.DataSource= CreateDataSource();
            ItemsGrid.DataBind();
         }
      }
 
   </script>
 
<body>
 
   <form runat=server>
 
      <h3>BoundColumn Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="false"
           runat="server">         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>         <Columns>            <asp:BoundColumn
                 HeaderText="Number" 
                 DataField="IntegerValue">
            </asp:BoundColumn>            <asp:BoundColumn
                 HeaderText="Description" 
                 DataField="StringValue">
            </asp:BoundColumn>            <asp:BoundColumn
                 HeaderText="Price" 
                 DataField="CurrencyValue" 
                 DataFormatString="{0:c}">
            </asp:BoundColumn>         </Columns>
 
      </asp:DataGrid>
 
   </form>
 
</body>
</html>
[C++] 没有可用于 C++ 的示例。若要查看 Visual Basic、C# 或 JScript 示例,请单击页左上角的语言筛选器按钮 。

解决方案 »

  1.   

    管他呢,我先收藏了再说。saving... ...
      

  2.   

    你写入{0:d}就可以了
    d 短日期模式 
    D 长日期模式 
    t 短时间模式 
    T 长时间模式 
      

  3.   

    格式说明符 名称 说明 
    d 短日期模式
    D 长日期模式 
    t 短时间模式 
    T 长时间模式  
    f 完整日期/时间模式(短时间) 
    F 完整日期/时间模式(长时间) 
    g 常规日期/时间模式(短时间)
    G 常规日期/时间模式(长时间)
    M 或 m 月日模式 
    R 或 r RFC1123 模式
    s 可排序的日期/时间模式;
    u 通用的可排序日期/时间模式 
    U 通用的可排序日期/时间模式
    Y 或 y 年月模式 
    任何其他单个字符 未知说明符   
      

  4.   

    timmy3310(Tim),你贴得我看了,但是没有我要的日期的这种阿短日期加短时间,怎么写啊?例如“2003/04/16 12:1:5”。。我给你30分,给他70分,你看如何?