猿问

Gridview排序变色问题

我想把Gridview某一列里最小的十个数值变色,我的代码如下,但老提示错误,找不出什么错误。或者有更好的写法?


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  {
  double[] a = new double[GridView1.Rows.Count]; \\定义一个数组
  for (int i = 0; i <= GridView1.Rows.Count -1; i++)
  {
  a[i] =Convert.ToDouble(GridView1.Rows[i].Cells[4].Text); \\把GridView1的某列的值赋值到这个数组
  }
  Array.Sort(a); \\排序
  for (int k = 0; k < 10; k++)   
  {
  double b = a[k]; \\读出排在前10位的数
  for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
  {
  double c = Convert.ToDouble(GridView1.Rows[i].Cells[4].Text); \\查找每行的值
  if (b == c) \\如果等于这个数的
  {
  GridView1.Rows[i].Cells[4].BackColor = System.Drawing.Color.Yellow;\\那一行变色。
  }
  }
  }
  }

繁星点点滴滴
浏览 433回答 1
1回答

一只斗牛犬

你这个array.sort(a)是为了先排序然后对后面的10个数字变色,你在绑定gv的时候,对这个数据源先按那一列排序,然后取最后10行变色应该可以吧。
随时随地看视频慕课网APP
我要回答