using System.Collections.Generic; using System.Data; using System.Linq; using System.Web.Mvc; namespace Kreta.Web.Helpers.Extension { public static class DataTableExtensions { public static void RemoveDataRowIfAnyColumnValueMatch(this DataTable dataTable, string columnName, List columnValues) { if (!dataTable.Columns.Contains(columnName) || (dataTable.Columns[columnName].DataType != typeof(int?) && dataTable.Columns[columnName].DataType != typeof(int))) { return; } foreach (DataRow row in dataTable.Rows) { foreach (var columnValue in columnValues) { if (row.RowState != DataRowState.Deleted && row.Field(columnName) == columnValue) { row.Delete(); } } } dataTable.AcceptChanges(); } } }