アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。
Winアプリを作成していますが、ネットで検索をかけても
どうしても分からない事があるのでお教えいただけないでしょうか?

【環境】
Window XP
VS2005 VB.net

【質問】
DataGridViewでソートを行う際にデータをNULL(Nothing)にした部分が
ソートに反映されてしまうのですが、どうにかソートされないように
する方法はありますでしょうか?

例:
データ1
データ2
データ3
NULL
NULL


ソートを行うと
NULL
NULL
データ1
データ2
データ3

希望値としては以下です。
データ1
データ2
データ3
NULL
NULL

もともとはDataGridViewのグリッドをデータ数に関わらず
常に表示したいことから、行き詰ったのですが
どなたか良い方法をご存知ではないでしょうか?
よろしくお願いいたします。

A 回答 (1件)

方法は2種類かな


1つは データソース自体にソート用の列を設ける
もう一つは DataGridViewのSortメソッド用にIComparer インターフェイスを継承したクラスを作成して ソートメソッドに与えてやる
このとき引数の Objct xが DBNullだったら DBNullのほうが大きいと返答をするよう
SortメソッドはGridDataViewのColumnHeaderMouseClickイベントなどで使う感じだと思います
ちょうど MSDNのColumnHeaderMouseClickイベントにソートの制御の例が載ってますよ
ただこれは 別の列でソートする例ですけどね
後は GridDataViewのSort(IComparer)メソッドの例が参考になるかも

昇順の場合だけならまだ楽ですが、降順にソートする場合も考慮しないといけないのだと大変だと思いますよ
    • good
    • 0
この回答へのお礼

ご丁寧に回答ありがとうございます!
今回は時間が無いため、前者で行います。。。
本当後者のほうが、今後の為にもよさそうですが・・・

お礼日時:2007/07/26 12:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています