Это зависит от того, что вы подразумеваете под "удалить".
Если вы хотите пометить их как удаленные , просто вызовите метод Delete()
в каждой строке, когда вы посещаете его в цикле. Затем вам нужно вызвать AcceptChanges()
для таблицы данных, чтобы завершить удаление - предположительно, после обновления базы данных (если она задействована).
foreach( DataRow row in someTable.Rows )
{
if( /* your condition here */ )
row.Delete();
}
someTable.AcceptChanges();
Если вы хотите удалить его из таблицы данных, то вам нужно сделать это в два этапа:
List<DataRow> rowsToDelete = new List<DataRow>();
foreach( DataRow row in someTable.Rows )
{
if( /* your condition here */ )
{
rowsToDelete.Add( row );
}
}
foreach( DataRow row in rowsToDelete )
{
someTable.Rows.Remove( row );
}
Стоит отметить, что вы всегда можете использовать первый метод для удаления строк - поскольку пометка строк как Deleted
и последующее принятие изменений автоматически удаляют их из таблицы. Но иногда проще и эффективнее просто удалить объекты DataRow
из коллекции Rows
.