我想在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;
}
}
我的代码出错。
答案 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++)