ASP.Net GridView Web控件格式列

时间:2016-07-21 00:39:01

标签: asp.net gridview

我试图通过在DataBound事件中放置代码来格式化GridView控件中的列。它不起作用,因为由于某种原因没有填充列集合。控件绑定,它可以工作,但是列集合显示的计数为零,因此代码不起作用。
想法?

        protected void gvReport_DataBound(object sender, EventArgs e)
    {
        for (int columnIndex = 0; columnIndex <= gvReport.Columns.Count - 1; columnIndex += 1)
        {
            var col = ((BoundField)gvReport.Columns[columnIndex]);

            if (object.ReferenceEquals(col.DataField.GetType(), typeof(System.DateTime)))
                col.DataFormatString = "MM/dd/yyyy";
        }
    }

1 个答案:

答案 0 :(得分:1)

使用Columns生成的列在GridView的RowDataBound集合中不可用。您可以在protected void gvReport_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { for (int i = 0; i < e.Row.Cells.Count; i++) { object value = (e.Row.DataItem as DataRowView).Row.ItemArray[i]; if (value is DateTime) { TableCell cell = e.Row.Cells[i]; cell.Text = ((DateTime)value).ToShortDateString(); } } } } 事件处理程序中处理单元格:

fromJSON