我想从数据表中删除不需要的列,并安排在预先定义的顺序数据表删除列和重新排序
例如,我的表列像下面的列的顺序列,
Col2|Col1|Col3|Test|Test1|Col5|Col4|Some col name|Col6
我想删除测试,测试1和一些山坳名称和数据表重新安排到下面的格式
Col1|Col2|Col3|Col4|Col5|Col6
// I need the below columns
List<string> tableColumns = new List<string>();
tableColumns.Add("Col1");
tableColumns.Add("Col2");
tableColumns.Add("Col3");
tableColumns.Add("Col4");
tableColumns.Add("Col5");
tableColumns.Add("Col6");
List<DataColumn> tblColumns = MyDataTable.Columns.Cast<DataColumn>().ToList();
//Remove unwanted columns
foreach (DataColumn col in tblColumns)
{
if (!tableColumns.Contains(col.ColumnName.Trim()))
{
MyDataTable.Columns.Remove(col);
}
}
现在我该如何重新排序的列在下面的顺序?
Col1|Col2|Col3|Col4|Col5|Col6
我试图像下面的代码,但如果在数据表中不存在TableColumn来的所有项目失败。 还有些时间的数据表的列名有一些空的空间(如“Col1中”)
foreach (var col in tableColumns)
{
MyDataTable.Columns[col].SetOrdinal(tableColumns.IndexOf(col));
}
这是去除不需要的列和重新安排列的最佳方式?
它适合我,非常感谢! – blue
不客气 –