在datagridview中查找最大值行并更改其颜色

时间:2015-11-30 05:44:10

标签: c# datagridview

我想在datagridview中找到最大值行并更改它color

int maxValue = Convert.ToInt32(dt.Compute("max(Score)", string.Empty));

for (int i = 0; i < dt.Rows.Count; i++)`

{
  string clr = dt.Rows[0]["Score"].ToString();

  if (clr == maxValue.ToString())     
   {
     showdata1.Rows[i].DefaultCellStyle.BackColor = Color.Green;
   }
}

我的代码出错。

enter image description here

1 个答案:

答案 0 :(得分:0)

您正在迭代DataTable并使用DataTable迭代循环的索引来获取GridView行。 GridView具有页面,当您尝试按照DataTable的索引访问GridView特定行时,您将获得异常。例如,您在DataTable中有 20 记录,但在GridView中只有 10 ,那么当您处于11次迭代并尝试访问GridView的第11行时通过循环变量i,你会得到异常。

使用页码和页面大小来获取循环开始和结束索引。

for (int i = PageIndex*PageSize; i < (PageIndex+1)*PageSize); i++)