DataGridViewのリストを複数カラムでソートする方法を教えてください。
+----+----+---------+--------+
ID No Display Note
+----+----+---------+--------+
1 0 aaaaaaa aaaaaa
1 1 bbbbbbb bbbbbb
1 2 ccccccc cccccc
2 0 ddddddd dddddd
2 1 eeeeeee eeeeee
3 1 fffffff ffffff
上記のような一覧があったとして、プログラム上で、
[ID][No]をキーにしてDataGridViewをソートすることは可能でしょうか?
DataGridView.Sortは単列に対してはソート可能ですが、[No]をソートして
から連続して[ID]をソートすると、並びがおかしくなってしまいます。
よい方法ありましたらご教授お願いします。
> DataGridView.Sortは単列に対してはソート可能ですが
単列と言わず、任意の並び順にできますよ。
Sort メソッドには、IComparer も指定できるのですから。
http://msdn2.microsoft.com/ja-jp/library/ms171608.aspx
# BindingSource を使うと言う手もあり。
魔界の仮面弁士さん、回答ありがとうございます。
初めはIComparerの使い方がわからず、なかなか思うように動作を
確認できなかったのですが、どうにか一覧のソートが出来ました。
ICompererを指定することで複数列のソートがこんなに簡単にできる
なんて思いもしませんでした。
大変勉強になりました。
ありがとうございます。
ツイート | ![]() |