VisualStudio2008のDataGridViewの並び替えの基準を知るには?

解決


VisualStudio2008初心者  2009-02-26 16:20:17  No: 141573  IP: [192.*.*.*]

VisualStudio2008のDataGridViewでヘッダーのカラムをクリックすると、昇順、降順に並び替えができますが何を基準に並び替えているのでしょうか。クリックしたカラムに同じ値が複数あった場合、昇順、降順にはなるのですが、一回目の昇順の並びと2回目の昇順の並びが異なります。

DataGridViewColumnSortMode.Automaticとした場合、プログラムで.Sort(datagrid.Columns(colum), System.ComponentModel.ListSortDirection.Descending)を使った場合両方ともです。

編集 削除
特攻隊長まるるう  2009-02-26 17:44:45  No: 141574  IP: [192.*.*.*]

クイックソートのアルゴリズムで入れ替えられる位置にいるかどうかじゃない?

編集 削除
VisualStudio2008初心者  2009-02-27 13:52:46  No: 141575  IP: [192.*.*.*]

クイックソートは同等の値があるときに、安定性に欠けるということがわかりました。
昇順でソートするときは現在の位置を先頭から順に採番していき、降順でソートするときは一番下から順に採番して、ソートの対象となるデータと採番した値をくっつけてソートするとうまくいきました。(Excelのデータ並べ替えと同様の動きになりました)
ありがとうございました。

編集 削除