我添加了一个GRIDVIEW,绑定的数据如下:
a   b   
2   2
3   45
5   36
3   41
5   8
3   43
3   22
4   1现在我想写个命令,把b列里面,数值最小的4个数,他的格子变成黄色,请问该如何来写?而且注意在点排序的时候,当这个格子跳的时候,颜色会跟着格子也跳过去的。

解决方案 »

  1.   

    在ItemDataBind事件里进行判断
    e.Item.Cells[1].Attributes.Add("style","background:yellow")
      

  2.   

    绑定时判断当前值
    符合条件则改变颜色protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)  
        {  
            // 设置行的背景颜色  
            if (e.Row.Cells[1].Text == "0111")  
            {  
                e.Row.BackColor = System.Drawing.Color.Red;  
            }  
            else  
            {  
                e.Row.BackColor = System.Drawing.Color.Gray;  
            }  
            // 设置单元格的颜色  
            if (e.Row.Cells[1].Text == "0111")  
            {  
                e.Row.Cells[1].BackColor = System.Drawing.Color.Green;  
            }  
          }
      

  3.   

    先把这个数找出来,然后用jquery:
    $("#GridView2 tr td:contains(符合条件的数)").css("background-color","#ddd")
      

  4.   

    我的表达可能不清楚,怎么变颜色我会,我是不会那个怎么挑选出最小数的写法。
    我想了IF,WHILE,想不出用什么语句。
      

  5.   

    int i = dataGridView1.Rows[1].Cells[0].value;//传来的值;
    if(i<20)//20假设你判断的值
    {
      dataGridView1.Rows[1].Cells[0].Style.ForeColor = System.Drawing.Color.Red;
    }
    else
    {
      //类似做法
    }
      

  6.   

    现在我想写个命令,把b列里面,数值最小的4个数,他的格子变成黄色,请问该如何来写?而且注意在点排序的时候,当这个格子跳的时候,颜色会跟着格子也跳过去的。
    当你设置单无格颜色后,再去点排序颜色会被清除的吧...你可以在Soreted事件里,重新遍历表格,填充颜色...
      

  7.   

    现在我想写个命令,把b列里面,数值最小的4个数,他的格子变成黄色,请问该如何来写?//如果数据是存储在datatable表中..可以排序下.DataView dv = new DataView(dt); dv.Sort = "b ASC"; int minvalue=(int)dv[3][1] //获取倒数第四小的数....第四行b列值其它的看9#
      

  8.   


    关键就是咋读取这个数呢,用SQL语句还读得出来,写C#我真不知怎么写。
      

  9.   

    得到数的方法有很多种,如果b列=第2列
    for (int i = 0; i < this.GridView1.Rows.Count; i++)
                        {
                            GridViewRow rowi = this.GridView1.Rows[i];
                            int valueByColumns = Convert.ToInt32(rowi.Cells[1].Text);
                            /*
                             然后把valueByColumns和行号 i(存行号是因为也许会遇到极端情况,有>4个的最小数,那么按行号在前的单元格优先变色)存到SortedList<TKey,TValue>
                           */
                           SortedList<int, int> sl = new SortedList<int, int>();
                           接下来明白了吧
                        
                        }