Я попытался использовать приведенный ниже код, но для этого требуется имя столбца или индекс
DataTable t; t.Columns.Remove("columnName"); t.Columns.RemoveAt(columnIndex);
Вам просто нужен цикл для проверки ... Примерно так:
foreach(var column in t.Columns.Cast<DataColumn>().ToArray()) { if (t.AsEnumerable().All(dr => dr.IsNull(column))) t.Columns.Remove(column); }
Кредиты: здесь