0

属性AutoGenerateColumns设置在true.
带有日期的列可能有不同的索引。

        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 中的不同表中获取的。他们有不同的名字。

4

1 回答 1

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");
            }
        }
    }
}

标准日期和时间格式字符串

如果AutoGenerateColumns将设置为false您可以使用该DataFormatString属性来BoundFields代替。

于 2012-11-12T09:45:16.773 回答