如果单元格的文本 != "nbsp;",我已经将代码用于为 GRIDVIEW Cell# 14 的背景着色除了最后一行,它确实有效。即使它不等于“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;
}
}
}
}
最佳答案
您不需要在 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
关于c# - 为什么 foreach 循环在 gridview 的最后一行失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33050991/