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 –