2

我使用从数据库中获取所有表

tables = Utility.DBConnection.GetSchema("Tables", restrictions);

之后如何按字母顺序排列表格?我检查了GetSchema,没有属性可以给出任何排序顺序。

我想稍后做:

foreach (DataRow row in tables.Rows) {}

但我想先对表格进行排序。

4

4 回答 4

0

只是从数据集中的集合中复制一个表的数组/列表,然后自己排序?

于 2012-06-20T15:45:29.800 回答
0

不确定 Utility.DBConnection.GetSchema 返回什么,但这可能非常接近您想要的:

var sortedTables = from table in tables
                   orderby table.TableName ascending
                   select table;
于 2012-06-20T15:46:22.570 回答
0

如果表是 DataTable,您可以使用DataTable.DefaultView 属性来提供数据的排序视图:

DataView view = tables.DefaultView;

view.Sort = "Name";

foreach (DataRowView row in view)
{
}
于 2012-06-20T16:20:28.347 回答
0

您可以使用排序字典 -

DataTable dtTables = conn.GetSchema("Tables");
SortedDictionary<string, DataRow> dcSortedTables = new SortedDictionary<string, DataRow>();

foreach (DataRow table in dtTables.Rows) {
    string tableName = (string)table[2];
    dcSortedTables.Add(tableName, table);
}

// Loop through tables
foreach (DataRow table in dcSortedTables.Values) {
    // your stuff here
}
于 2018-12-10T21:28:39.603 回答