DataGridViewを複数カラムでソートするには?

解決


あきたいぬ  2007-06-14 20:50:19  No: 143655

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]をソートすると、並びがおかしくなってしまいます。

よい方法ありましたらご教授お願いします。


魔界の仮面弁士  2007-06-14 21:02:15  No: 143656

> DataGridView.Sortは単列に対してはソート可能ですが
単列と言わず、任意の並び順にできますよ。
Sort メソッドには、IComparer も指定できるのですから。
http://msdn2.microsoft.com/ja-jp/library/ms171608.aspx

# BindingSource を使うと言う手もあり。


あきたいぬ  2007-06-14 22:56:09  No: 143657

魔界の仮面弁士さん、回答ありがとうございます。

初めはIComparerの使い方がわからず、なかなか思うように動作を
確認できなかったのですが、どうにか一覧のソートが出来ました。
ICompererを指定することで複数列のソートがこんなに簡単にできる
なんて思いもしませんでした。

大変勉強になりました。
ありがとうございます。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加