Правильный ли метод удаления? Я пытаюсь удалить эти ненужные строки базового столбца статуса. Но мне не удалось удалить строку, когда это произошло в секунду l oop.
Я пытаюсь добавить продолжить, но не работает, появляется сообщение об ошибке (" Сбор был изменено; операция перечисления может не выполняться. "). только я добавляю разрыв, и это работает для удаления строки (удалить только одну строку, я хочу продолжать цикл и удалить строку по обнаружению).
if (queryResult.Rows != null)
{
// now the query would display 10 rows
DataTable dt_Details = new DataTable();
dt_Details = queryResult.GetAsDataTable();
foreach (DataRow dtRow in dt_Details.Rows)
{
List<Array> newArrayList = new List<Array> ();
int A_TotalCount = 0;
int P_TotalCount = 0;
int C_TotalCount = 0;
if (dtRow["STATUS"].ToString() == "ACTIVE")
{
A_TotalCount++;
}
else if (dtRow["STATUS"].ToString() == "PROCESS")
{
P_TotalCount++;
}
else if (dtRow["STATUS"].ToString() == "COMPLETED")
{
C_TotalCount++;
}
if ((P_TotalCount > 0 && A_TotalCount > 0 && C_TotalCount > 0) || (P_TotalCount > 0 && A_TotalCount > 0 && C_TotalCount == 0))
{
foreach (DataRow row in dt_Details.Rows)
{
if (row["Status"].ToString() == "ACTIVE")
dt_Details.Rows.Remove(row);
}
}
else if ((P_TotalCount == 0 && A_TotalCount > 0 && C_TotalCount > 0))
{
foreach (DataRow row in dt_Details.Rows)
{
if (row["WaferStatus"].ToString() == "COMPLETED")
**dt_Details.Rows.Remove(row);**
}
}
}
}