是否可以为gridview中的所有列设置格式日期?

时间:2012-11-12 09:34:54

标签: c# asp.net gridview

属性AutoGenerateColumnstrue中设置 带日期的列可以有不同的索引。

        OracleDataAdapter adapter = new OracleDataAdapter();
        DataTable tableD = new DataTable();
        tableD.Locale = System.Globalization.CultureInfo.InvariantCulture;
        adapter.SelectCommand = oracleCom;
        adapter.Fill(tableD);
        tableResults.DataSource = tableD.AsDataView();
        tableResults.DataBind();

具有日期类型值的列是从db中的不同表中获取的。他们有不同的名字。

1 个答案:

答案 0 :(得分:0)

我会使用RowDataBound格式化您的列。

protected void gridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRow row = ((DataRowView)e.Row.DataItem).Row;
        foreach (DataColumn col in row.Table.Columns)
        {
            if (col.DataType == typeof(DateTime))
            { 
                DateTime dt = row.Field<DateTime>(col);
                e.Row.Cells[col.Ordinal].Text = dt.ToString("D");
            }
        }
    }
}

Standard Date and Time Format Strings

如果AutoGenerateColumns设置为false,您可以使用BoundFields上的DataFormatString属性。