プロが教えるわが家の防犯対策術!

C#のDataGridViewにて列名をクリックした際にソートが発生しますが、
その時、先頭行だけはソートの比較に参加させずに固定しておくことは可能ですか?

よろしくお願いします。

A 回答 (1件)

Column[index].HeaderTextを設定する方法ではなくて、セルの一行目を除外するのですよね?



http://dobon.net/vb/dotnet/datagridview/customso …

上記URLのSortCompareイベントを使用する方法が利用できると思います。
ソートの条件で2行目から判断するよう手動で書かなければなりませんが…。

http://msdn.microsoft.com/ja-jp/library/system.w …
によれば、
e.RowIndex1が0の時は常にマイナスの値
e.SortResult2が0の時は常にプラスの値をe.SortResultプロパティに格納すれば、常に一行目を先頭にできると考えます。

それ以外の場合は通常通りのソート条件を実装します。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

リンク先にてSortCompareイベントについて確認したところ、
DataSourceプロパティに何も設定していないことが条件とのことでした。
しかし残念ながらDataSourceを設定していますので、この方法では出来そうにありません。

せっかく、ご回答いただいたのにすみません。

ただ、このような方法は知らなかったので勉強になりました。
今後参考にさせて頂きます。

お礼日時:2013/06/21 13:13

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