My suggestion is you can use foreach iterator statement to travarse gridview.
Instead of that
for (int i = 0; i <= gridview.Rows.Count; i++)
{
if (!xxx.Equals(gridview.Rows[i].Cells[0].Text))
{
dr = dt.NewRow();
dr[0] = */adding value*/
dt.Rows.Add(dr);
}
}
You can use
foreach (GridViewRow row in gridview.Rows)
{
if (!xxx.Equals(row[i].Cells[0].Text))
{
dr = dt.NewRow();
dr[0] = */adding value*/
dt.Rows.Add(dr);
}
}
It is more cleaner and readable. It will safe us for accidental errors like you faced < vs <= etc problem. I always prefer foreach to navigate list where list implement iterator pattern.