在autoGenColumnsArray中更改datagrid的日期时间字符串格式

时间:2013-01-03 18:04:40

标签: c# asp.net datagrid string-formatting

我的Datagrid(dg)有几列,其中一列(最右边的列)包含日期。其余列不包含日期。我希望显示给用户的日期列中的字符串为DD / MM / YYYY(没有时间。)但是,一旦绑定网格并加载页面,它将显示为DD / MM / YYYY 12:00 AM。

从搜索开始,我想我会尝试这样做:

foreach (DataControlField field in dg.Columns)
    {
        if (field is BoundField)
        {
            BoundField boundField = field as BoundField;
            boundField.DataFormatString = "{0:dd/MM/yyyy}";
            boundField.HtmlEncode = false;             
        }
    }

但是,数据不在dg.Columns中,它实际上在dg.autoGenColumnsArray [0-10]中,其中10是具有我想要格式化的日期的列索引。如何设置此列的格式,我该怎么做?

编辑:我正在使用小组:

<asp:Panel runat="server" ID="labelSqlDefaults">

另外,在我的代码隐藏中(其中dg是我的数据网格):

dg.DataBind();
this.labelSqlDefaults.Controls.Add(dg);

1 个答案:

答案 0 :(得分:0)

格式化它的属性,因为它绑定在您的aspx端

<asp:BoundField HeaderText="Date" DataField="Date" DataFormatString="{0:dd/MM/yyyy}" HtmlEncode="false" >