protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        Label olabel;
        //弹出明细行的数据的 背景色改掉!
        if (e.Row.RowType == DataControlRowType.Header )
        {
            for (int iCol = 0; iCol < e.Row.Cells.Count; iCol++)
            {
                if (e.Row.Cells[iCol].Text.ToString().IndexOf("小计") > 0)      
                 //这个TEXT取出的值永远是空的?列是自动生成的 后在DATAROW里 这样写是可以取到值的,不知道为什么
                {
                    e.Row.Cells[iCol].BackColor = System.Drawing.Color.Green;
                }

解决方案 »

  1.   

    if (this.GridView1.Columns[iCol].HeaderText.ToString().IndexOf("小计") > 0)加上这个会超出 列的index 
      

  2.   


     if (e.Row.Cells[iCol].Text.ToString().IndexOf("小计") > -1
    试试吧,应该可以的。可以的话,别忘给分喔,谢谢!
      

  3.   

    lz试一下this.GridView1.Columns[iCol].HeaderText这个值肯定不是空吧?lz是不是想实现标头的字段为"小计"的背景色变成绿色呀?如果是的话...
    if (this.GridView1.Columns[iCol].HeaderText.ToString()=="小计") 
      

  4.   

    不对呀
    在DATAROWBOUND时 COLUMNS 只有1列!!!!!
      

  5.   

    楼上的都不是正解原来是 allowsorting=true 搞的鬼只有allowsorting为false才可以找的到这个值不知道有没有别的办法解决,在allowsorting=true下 怎么找标题文字