为什么在gridview的最后一行foreach循环失败

本文关键字:一行 foreach 循环 失败 gridview 最后 为什么 | 更新日期: 2023-09-27 18:17:05

我已经给GRIDVIEW Cell# 14的背景设置了COLOR,如果Cell的text != "nbsp;"除了最后一行,它确实有效。它不会给最后一行上色即使它不等于"nbsp;"

protected void grdviewCases_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow) 
        {
            foreach (GridViewRow gr in grdviewCases.Rows)
            {
                if (gr.Cells[14].Text != " ")
                {
                    gr.Cells[14].BackColor = Color.Red; ;
                    gr.Cells[14].ForeColor = Color.WhiteSmoke;
                }
            }
        }
    }

为什么在gridview的最后一行foreach循环失败

您不需要在RowDataBound事件中循环行,您可以使用e对象来引用每一行

protected void grdviewCases_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow) 
        {
            if (e.Row.Cells[14].Text != " ")
            {
                e.Row.Cells[14].BackColor = Color.Red; ;
                e.Row.Cells[14].ForeColor = Color.WhiteSmoke;
            }
        }
    }

详细信息请查看system.web.ui.webcontrols.gridview.rowdatabound