2

を使用してデータベースからすべてのテーブルをフェッチします

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

テーブルをアルファベット順に並べ替えるにはどうすればよいですか? を確認しましたがGetSchema、並べ替え順序を指定するプロパティはありません。

後でやりたい:

foreach (DataRow row in tables.Rows) {}

しかし、私は前にテーブルをソートしたいと思っています。

4

4 に答える 4

0

テーブルがDataTableの場合、DataTable.DefaultViewプロパティを使用して、データに並べ替えられたビューを提供できます。

DataView view = tables.DefaultView;

view.Sort = "Name";

foreach (DataRowView row in view)
{
}
于 2012-06-20T16:20:28.347 に答える
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 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 に答える