- PR -

ListView の数値によるソート

1
投稿者投稿内容
パットン
会議室デビュー日: 2004/08/15
投稿数: 11
投稿日時: 2004-10-07 01:17
WindowsXP professional の環境で VC++.net を扱っております。
ListView のソート機能で、数値によるソートの方法を教えてください。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformslistviewclasslistviewitemsortertopic.asp

にある、ListView のソート機能のサンプルコード([C++] のサンプル)では文字列比較を行うため、例えば、"8" と "100" を昇順でソートすると "100","8" の順番になってしまいます(本来なら "8","100")。
要は、ListView のアイテムを数値として取得できればよいかと思いますが、その方法が分かりません。

どうか、よろしくお願いします。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-10-07 06:51
諸農です。

コード:

int Compare(Object* x, Object* y) {
return String::Compare((dynamic_cast<ListViewItem*>(x))->SubItems->Item[col]->Text,
(dynamic_cast<ListViewItem*>(y))->SubItems->Item[col]->Text);



サンプルのコードで、ノードから文字列を取得してその文字列を文字列比較している部分を、
数値にパースして数値比較するように変更すればOKですね。

-追加-
文字列を数値にするのは、Int32.Parse() を使います。

_________________
諸農和岳
Powered by Borland Delphi/C++Builder & Microsoft VS.NET

[ メッセージ編集済み 編集者: Jubei 編集日時 2004-10-07 06:55 ]
パットン
会議室デビュー日: 2004/08/15
投稿数: 11
投稿日時: 2004-10-08 01:14
引用:

Jubeiさんの書き込み (2004-10-07 06:51) より:
-追加-
文字列を数値にするのは、Int32.Parse() を使います。


[ メッセージ編集済み 編集者: Jubei 編集日時 2004-10-07 06:55 ]



Jubei さん、ありがとうございました。
問題が全て解決しました。
1

スキルアップ/キャリアアップ(JOB@IT)