<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>「ListViewの項目を並び替える」へのコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=control%2Flvitemsort.html</link>
<description>「ListViewの項目を並び替える」に投稿されたコメントの一覧</description>
<language>ja</language>
<image>
<url>https://dobon.net/banner/dbs1.gif</url>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=control%2Flvitemsort.html</link>
<title>「ListViewの項目を並び替える」へのコメント</title>
<width>88</width>
<height>31</height>
</image>
<item>
<title>評価の理由</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=control%2Flvitemsort.html#32</link>
<description><![CDATA[評価：良い<br>とても分かりやすい記事です。無事に動きました。有難うございます。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#31</link>
<description><![CDATA[評価：良い<br>いつも、お世話になっています。(^_^;<br><br>自分でソート対象にしたくない項目をListViewItemComparer.ComparerMode.None<br>を追加して&quot;0&quot;を返す様に改造しました。<br><br>ありがとうございます。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#30</link>
<description><![CDATA[返信ありがとうございます。<br><br>確かにCompareToが最適のようですね。<br>当方VB6あがりなもので、未だに各クラス（今回は構造体？）のメンバを把握しきれていない現状です・・・。<br><br>そのアイディア使わせて頂きます！]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#29</link>
<description><![CDATA[&gt; 本件のIComparer.Compareの実装のCompareメソッドについてですが、たとえば引数Xの値がIntegerの最大値で引数yの値がマイナス値の場合に、計算結果がIntegerの範囲外の値となるので、エラーになるようです。<br><br>素直にCompareToを使うべきだったと後悔しています。Math.Signも面白いアイデアだと思いますが、二度手間になってしまいそうです。ご指摘いただき、ありがとうございました。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#28</link>
<description><![CDATA[いつも大変参考にさせていただいております。<br><br>さて本件のIComparer.Compareの実装のCompareメソッドについてですが、たとえば引数Xの値がIntegerの最大値で引数yの値がマイナス値の場合に、計算結果がIntegerの範囲外の値となるので、エラーになるようです。<br><br>戻り値のInteger型と内部的にParseしているInteger型は同じInteger型でも特に関係性はなく、戻り値はIComparer.Compareに依存しており、内部的の型は比較する値の入力範囲に依存していると思われます。<br><br>また、数値の範囲（入力範囲）についてはこのサンプルプログラムを適用するプログラム単位で調整すれば良いと考えますが、根本的に本メソッドの戻り値としてStringやDateTimeと違いに違和感を覚えます。<br><br>IComparer.Compareの戻り値を考えると、どれだけの差があるかというのは重要ではなく、どちらが大きいか（または同じか）というのが重要だと思うので、計算結果をMath.Signにて他と統一した方が良いのではと感じましたが、いかがでしょうか？<br>（とはいえMath.Signする前に今定義されている型より大きい値が扱える型にキャストしないと前述の例ではエラーになってしまいますが・・・）]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#27</link>
<description><![CDATA[&gt; AndAlso にしないと _columnModes Is Nothing の時に _columnModes.Length でエラーとなりました。<br><br>修正させていただきます。ご報告有り難うございました。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#26</link>
<description><![CDATA[参考にさせていただきました。<br>ありがとうございました。<br><br>なお、さらに拡張 - VB.NET - 108行目について<br>AndAlso にしないと _columnModes Is Nothing の時に _columnModes.Length でエラーとなりました。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#25</link>
<description><![CDATA[Myaさん、ご連絡ありがとうございました。公開させていただいたWikiのページにもコメント欄がありますので、何かありましたら、そちらに書き込んでいただいても大丈夫です。また、もし公開を中止して欲しいということがありましたら、ご連絡ください。よろしくお願いいたします。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#24</link>
<description><![CDATA[　はうっ！　久し振りにListViewを使う機会が来たので復習がてらコチラをお邪魔しましたら、何かもの凄い汗顔恐悦の至りに!?　私何ぞのソースコードを公開して下さって本当に有り難う御座いますガクブル……。何とも畏れ多い限りです。<br>　このbool値比較の注意点としては、「ListViewに於けるCheckBoxのCheck有無はListViewItemに対してのみ一対一で格納されている」ので、（大凡はそうなのですが）Sort後にCheckBoxを操作した場合、「ListViewItemとListViewのデータ元に整合性を紐付けてやらないとCheck対象がずれる」のがミソですね。ListVeiwItemをSortしてもデータ元は無論ながらSortされないので、そのままの行数でBool値を獲得した場合はCheckBoxの対象がずれちゃいます。<br>　然るに、この整合性の擦り合わせは大抵、ColumnClickのタイミングでやって整合性を付けてやると恐らく最も面倒がないです。長文、失礼致しました。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#23</link>
<description><![CDATA[&gt; ''' &lt;param name=&quot;cmod&quot;&gt;並び替えの方法&lt;/param&gt;<br>&gt; ではありませんか？<br><br>修正させていただきます。以前から指摘されていたにも関わらず遅れてしまい、申し訳ありませんでした。<br><br>また、こちらも遅くなってしまいましたが、以前Myaさんから送っていただいた、チェックボックス付きのListViewの項目を並び替えるコードを以下のURLで公開させて頂きました。<br><br>http://wiki.dobon.net/index.php?cmd=read&amp;page=DOBON.NET%2Fnote%2FCheckBox%A4%CE%C9%D5%A4%A4%A4%BFListView%A4%CE%B9%E0%CC%DC%A4%F2%CA%C2%A4%D3%C2%D8%A4%A8%A4%EB]]></description>
</item>
<item>
<title>評価の理由</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#22</link>
<description><![CDATA[評価：良い<br>DGVのように自動的に並び替えてはくれないようで、悩んでいたところだったので非常に参考になりました。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#21</link>
<description><![CDATA[2つ目のコードのVB版ですが<br>''' &lt;param name=&quot;col&quot;&gt;並び替える列番号&lt;/param&gt;<br>''' &lt;param name=&quot;ord&quot;&gt;昇順か降順か&lt;/param&gt;<br>''' &lt;param name=&quot;mthd&quot;&gt;並び替えの方法&lt;/param&gt;<br>は<br>''' &lt;param name=&quot;col&quot;&gt;並び替える列番号&lt;/param&gt;<br>''' &lt;param name=&quot;ord&quot;&gt;昇順か降順か&lt;/param&gt;<br>''' &lt;param name=&quot;cmod&quot;&gt;並び替えの方法&lt;/param&gt;<br>ではありませんか？]]></description>
</item>
<item>
<title>評価の理由</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#20</link>
<description><![CDATA[評価：良い<br>すばらしい！！<br>一点だけ補足。DBから一万件ほどのデータを読み出してListViewに追加したのですが、ListViewItemSorterプロパティがセットされたままだと、一レコード追加するごとにソートが実行され、とんでもなく時間がかかってしまいました。<br>ListViewItemSorterにnullをセットしてからアイテムを追加し、改めてListViewItemSorterを再セットしたところとっても快適に動きました！<br>ありがとうございます！]]></description>
</item>
<item>
<title>評価の理由</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#19</link>
<description><![CDATA[評価：良い<br>すぐに導入できた]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>http://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=control%2Flvitemsort.html#18</link>
<description><![CDATA[リストビューの、例えば2列目をあらかじめ降順に並べ替えた状態で表示させたいときはどうすればよいのでしょうか？]]></description>
</item>
</channel>
</rss>