- - PR -
Listのソートの方法が理解できません
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-05-15 14:20
ソートの方法が理解できません。
DataList の IndexSort() メソッドで、DataItem.Index の値の小さい順に List を並べ替えたいのです。 List には Sort メソッドがありますが、これを使って上記を実現するやり方がわか りません。 どのようにすれば良いのでしょうか? | ||||||||
|
投稿日時: 2006-05-15 14:26
IComparer を実装する DataItem の比較クラスのインスタンスを引数に与えます
http://www.melma.com/backnumber_120830/ | ||||||||
|
投稿日時: 2006-05-15 14:28
以前回答するために作ったサンプルです。 http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=3133 #あなたの師匠の掲示板です。3144の添付ファイル。 ArrayListですがほとんど一緒でしょう。 これがわかればListViewやTreeViewを思うように並べ替えできるようになります。 ヘルプの「ListView.ListViewItemSorter プロパティ」のサンプルがわかりやすいです。 [ メッセージ編集済み 編集者: まどか 編集日時 2006-05-15 14:33 ] | ||||||||
|
投稿日時: 2006-05-15 18:32
かるあさん、まどかさんありがとうございます。
リンク先を参照させていただき、分かったつもりになりながら、何とか書くことが できました。 生意気にジェネリックってみました。 これで並び替えも思うがままです(^▽^)>まどかさん
ちなみに以下の部分のパラメーター名ですが、サンプルを真似て x, y を使ってます が、実際は何という名前にするのが良いのですか?
source, destination とか? currentKey, CompareKey ? #compare のパラメーターの型が間違ってたので修正・・・ [ メッセージ編集済み 編集者: R・田中一郎 編集日時 2006-05-15 19:23 ] | ||||||||
|
投稿日時: 2006-05-15 19:17
元と先の関係はないので、少なくとも source, destination ではないでしょう。 既存の NCL と同じく itemA, itemB のような名前で良いと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-05-15 19:21
そうなんですよね。 やはり、itemA, itemB が良さそうですね。 | ||||||||
|
投稿日時: 2006-05-15 22:57
よくListViewやTreeViewを使っているのでちょくちょく実装しています。
ListViewでのマルチカラムソートやTreeViewでのフォルダ群→ファイル群(それぞれでText順)など。 TreeNode.Tagにフォルダかファイルかを持ち、フォルダ<ファイルならReturn -1、逆ならReturn 1。 フォルダ同士、ファイル同士ならReturn NodeX.Text.CompareTo(NodeY.Text) そんな具合です。 | ||||||||
|
投稿日時: 2006-05-15 23:03
でいいじゃんとも思うけども。 |