CopyToDataTable 清除DataTable原有的元数据

CopyToDataTable clears original metadata of DataTable

我正在尝试对数据表进行排序。所以,做了下面的代码:

var dataTable = ds.Tables[DataTableName];
DataTable tempDataTable;
tempDataTable = dataTable.Clone();

tempDataTable = dataTable.AsEnumerable()                                                        
.OrderBy(x => x.Field<string>("fieldname"))                                                            
.ThenBy(x => x.Field<string>(sortColumn)).CopyToDataTable();

// issue here. it doesnt return the original table name but "Table1"
string tableN = tempDataTable.TableName; 

ds.Tables.Remove(dataTable);
ds.Tables.Add(tempDataTable); // add the sorted data table

谢谢

如果您想对 DataTable 进行排序,则不需要 copy/clone 它。

DataTable dataTable = Common.LoadFromDB();
dataTable.DefaultView.Sort = "fieldname ASC, " + sortColumn + " DESC";
dataTable.DefaultView.ToTable();