2
如果单元格的文本为!=“nbsp;”,我已经放置了一个代码给COLOR GRIDVIEW Cell#14的背景。除了最后一行,它确实有效。即使不等于“nbsp”,也不会为最后一行着色为什么foreach循环在gridview的最后一行失败?
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;
}
}
}
}
它可能的情况是新行只有在RowDataBound事件发生后才被添加到Rows集合中。我会先检查一下。 –
另外,为什么在每行都是数据绑定之后迭代整个行集合,而不是只在新绑定的行上工作? –
一个简单的解决方案是取消foreach指令,在剩下的代码中用e.Row替换gr –