代码之家  ›  专栏  ›  技术社区  ›  Gauravsa

CopyToDataTable清除DataTable的原始元数据

  •  -1
  • Gauravsa  · 技术社区  · 6 年前

    我正在尝试对数据表进行排序。因此,执行了以下代码:

    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
    

    1 回复  |  直到 6 年前
        1
  •  3
  •   VDWWD    6 年前

    如果要对数据表进行排序,则不需要复制/克隆它。

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