公式アカウントからの投稿が始まります

書籍データを管理するためにbookDataSetにbookDataTableを定義します。
列は「書名」「著者」「価格」とします。
bookDataGrid(DataGridView)を通して、書籍データをテキストファイル(csv)に保存します。
保存した、データを読み込み、bookDataGridに表示します。
そのとき「書名」でソートしたいと思い
bookDataGrid.Sort(書名DataGridViewTextBoxColumn, ListSortDirection.Ascending);
として、目的は達しましたが、何か冗長な気がします。

感覚として
bookDataGrid.Sort("書名", Asc);
bookDataTable.OderBy("書名", Asc);
のようなことができそうに思うのですが、なかなかうまくいきません。

すっきりした書き方をご教示くだされば幸いです。

A 回答 (2件)

DataSet、DataTableは値が入っているオブジェクト。


DataGridViewは値を視覚的に表現するオブジェクト。

よって、DataSet、DataTable自体に万能なソート機能はありません。
予めソート順が決まっているなら、ソートしたものをDataSet、DataTableに入れてください。
    • good
    • 0

https://msdn.microsoft.com/ja-jp/library/0868ft3 …

結局

DataGridViewColumn newColumn = ~

ListSortDirection direction;
direction = ListSortDirection.Descending; //or direction = ListSortDirection.Ascending;



dataGridView1.Sort(newColumn, direction);

と出来る位なのかな?
それとも『継承』した自作クラスを作成するのか?(DataGridView の継承だとコードがもっと必要な気もするけどね。未検証ですが。)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!