[asp.net]为什么 foreach 循环最后失败 gridview 行吗?

发布时间: 2016/7/5 22:57:33
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我已经把代码 GRIDVIEW 细胞 # 14 的背景颜色,如果单元格的文本 ! ="■"和它的工作除了最后一行。它没有颜色的最后一行,即使那不是等于"■"

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

解决方法 1:

你不需要循环行在 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

官方微信
官方QQ群
31647020