使用 linq 更改数据表中列的顺序

Change the sequens of columns in datatable with linq

我有一个包含列

的数据表
Name|Age|Job

我使用 Linq 查询该数据表并进行一些操作。

Dim query = From row in dt.AsEnumerable.where(...)

返回的对象是我需要进行进一步处理的数据表。 但是现在我必须将列序列更改为

Age|Name|Job

不知道该怎么做。 我试过了:

Dim query1 = From column In query
Select column.Age, column.Name, column.Job

但是 query1 不再是 Datatable 对象。谁能帮助我完成对列的求助,我还有一个数据表对象?

您可以使用 DataColumn.SetOrdinal() 方法对列重新排序。假设 query 是一个包含列 Name|Age|Job 的数据表,以下将列重新排序为 Age|Name|Job :

query.Columns("Age").SetOrdinal(0)
query.Columns("Name").SetOrdinal(1)