DataTable 行ソートメソッド
この記事では、特定の列に基づいて DataTable の行を並べ替える方法を紹介します。 2 つの列を含む次のデータを含む DataTable があるとします:
COL1 | COL2 |
---|---|
Abc | 5 |
Def | 8 |
Ghi | 3 |
私たちの目標は、COL2 列の値に基づいてデータを降順に並べ替えて、次の結果を取得することです。
COL1 | COL2 |
---|---|
Def | 8 |
Abc | 5 |
Ghi | 3 |
最初は次のコードを使用してみました:
<code>ft.DefaultView.Sort = "COL2 desc"; ft = ft.DefaultView.ToTable(true);</code>
ただし、このメソッドは DataTable を直接並べ替えるのではなく、DataView を並べ替えます。
解決策
DataTable をその場で直接並べ替えるのは簡単ではありません。推奨される方法は、まず元の DataTable から DataView を作成し、次に DataView を並べ替えまたはフィルターし、最後に DataView.ToTable メソッドを使用して新しい DataTable を作成することです。
<code>DataView dv = ft.DefaultView; dv.Sort = "COL2 desc"; DataTable sortedDT = dv.ToTable();</code>
このメソッドは DataTable を効率的に並べ替えることができ、元の DataTable は変更されません。
以上がDataTable の行を特定の列で降順に効率的に並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。