------此贴属于原创,转帖请注明作者及出处------ /// <summary> /// Gridview某一列根据不同的条件显示不同颜色的实现 /// 0--为yellow,1--为MediumAquamarine,2--为Lime,3--为Red。 /// </summary> /// <param name="S6_pageIndex">页数,从0开始 0、1、2.....</param> /// <param name="S6_pageSize">Gridview每页显示的行数</param> /// <param name="dts">数据库中获取的DataTable表,里面有控制状态的字段 f_status 如有:0、1、2.3三种状态</param> /// <param name="gview_S6">Gridview</param> private void statusColour(int S6_pageIndex,int S6_pageSize,DataTable dts,GridView gview_S6 ) { if (S6_pageIndex == 0)//Gridview为第0页(事实上的第一页)时,状态列的颜色控制 { for (int i = 0; i < gview_S6.Rows.Count; i++) { string status = dts.Rows[i]["f_status"].ToString(); if (status == "0") { gview_S6.Rows[i].Cells[9].BackColor = System.Drawing.Color.Yellow; } else if (status == "1") { gview_S6.Rows[i].Cells[9].BackColor = System.Drawing.Color.MediumAquamarine; } else if (status == "2") { gview_S6.Rows[i].Cells[9].BackColor = System.Drawing.Color.Lime; } else { gview_S6.Rows[i].Cells[9].BackColor = System.Drawing.Color.Red; } } } else //Gridview为第1页及以后页(事实上的第二页及以后页)时,状态列的颜色控制 { for (int m = S6_pageIndex * S6_pageSize; m < gview_S6.Rows.Count + S6_pageIndex * S6_pageSize; m++) { string status = dts.Rows[m]["f_status"].ToString(); int gviewID = 0; gviewID = m % System.Math.Abs(S6_pageIndex * S6_pageSize);//页面中具体的某一行 if (status == "0") { gview_S6.Rows[gviewID].Cells[9].BackColor = System.Drawing.Color.Yellow; } else if (status == "1") { gview_S6.Rows[gviewID].Cells[9].BackColor = System.Drawing.Color.MediumAquamarine; } else if (status == "2") { gview_S6.Rows[gviewID].Cells[9].BackColor = System.Drawing.Color.Lime; } else { gview_S6.Rows[gviewID].Cells[9].BackColor = System.Drawing.Color.Red; } } } }