This is my code to remove row from datatable:
DataTable dtapple = dt;
foreach (DataRow drapplicant in dtapple.Rows)
{
int iapp = Convert.ToInt32(drapplicant["SrNo"].ToString());
if (drapplicant["PassportExpDate"].ToString().Trim() != "")
{
//ViewState["iapp"] = drapplicant;
dtapple.Rows.Remove(drapplicant);
}
}
Now when I use above code the row is removed, but after that I get an error
Collection was modified; enumeration operation might not execute
I don't know exact reason.
Below code works for me :
for (int i = 0; i < dataTable.Rows.Count; i++)
{
var tempRow = dataTable.Rows[i];
var temp = dataTable.Rows[i][0];
for (int j = 0; j < dataTable.Rows.Count; j++)
{
DataRow rows = dataTable.Rows[j];
if (temp == rows[0].ToString())
{
tempdatatable.Rows.Add(tempRow[0], tempRow[1]);
dataTable.Rows.Remove(rows); //Update happen here
}
tempdatatable.DefaultView.Sort = "gscitations DESC";
dataGridView1.DataSource = tempdatatable;
}
}