Как удалить столбец datatable в С#
У меня есть datatable с 12 столбцами. Теперь мне нужно удалить все столбцы, кроме как в позиции "0"
i можно удалить отдельно, указав имя столбца. но я не хочу этого делать, поскольку это не лучший способ кодирования.
есть ли что-нибудь другое, что я могу сделать
спасибо
Ответы
Ответ 1
Пройдите назад через столбцы и удалите их. Вы должны вернуться назад, чтобы исключить исключение из диапазона.
// index should include zero
for( int index=table.Columns.Count-1; index>=0; index-- )
{
table.Columns.RemoveAt( index );
}
Любители VB.Net:
'index should include zero
For index As Integer = table.Columns.Count - 1 To 0 Step -1
table.Columns.RemoveAt(index)
Next
Ответ 2
while(myDataTable.Columns.Count > 1)
{
myDataTable.Columns.RemoveAt(myDataTable.Columns.Count - 1);
}
Ответ 3
Код, который вы можете удалить по столбцам из объекта таблицы данных. То, что делает мой код, это цикл через объекты таблицы данных, а затем удалять столбцы один за другим.
String strcolname = "";
int i=0;
//Get Data for the reader object
using (reader = cmd.ExecuteReader())
{
// Load the Data table object
dataTable.Load(reader);
//Loop thorough the DataTable object
for (i=dataTable.Columns.Count-1;i>=0;i--)
{
/*
To be more precise , specify the column name you dont want to get deleted,
(you can add multilple column names here)*/
strcolname = dataTable.Columns[i].ColumnName.ToString();
if (strcolname != "ABCD")
{
dataTable.Columns.RemoveAt(i);
}
}
}