Visual Basic 中学校 掲示板 投稿内容
タグのない投稿を抽出 統計 RSS

Visual Basic 中学校 > 投稿一覧 >

DataGridView の ユーザーによるソートの禁止方法 解決済み

タグの編集...

投稿者 N88-BASIC   (社会人)   投稿日時 2016/8/30 14:27:31
DataGridView 上にあるデータを基に相互に参照してデータを更新するプログラムを作成しています。
この場合に、ユーザーの操作によりソートが実行されるとデータの前後関係が混乱する可能性があるのでヘッダーをクリックしたときに起きるソートを禁止したいと考えております。

現状は ColumnHeaderVisible=Faluse にて処理しておりますが、セルの横幅の変更などが自動に行われないので少し不便を感じています。
セルの横幅もデータ入力時に管理すべきですが名案があればと考えております。

方法をご存知でしたら情報の提供をよろしくお願いいたします。

環境は、Windows 10 & Visual Basic 2015 Community です。


投稿者 shu   (社会人)   投稿日時 2016/8/30 16:39:49
各Columnに対して
SortModeをNonSortable
に設定するのはどうでしょう?

投稿者 とっぽ   (社会人)   投稿日時 2016/8/31 16:54:25
この質問のタイトルをそのままGoogleの検索窓に入力したら
結果の一番上にズバリそのものが出てきましたよ。

投稿者 魔界の仮面弁士   (社会人)   投稿日時 2016/8/31 17:19:28
> 現状は ColumnHeaderVisible=Faluse にて処理しておりますが、
> セルの横幅の変更などが自動に行われないので少し不便を感じています。

既に回答がついているように、ソート機能を無効化するのが手っ取り早そうですが、
ColumnHeaderVisible = False のままで対応するのであれば、
AutoSizeColumnMode プロパティを AllCells にしておくのも手かと思います。

あるいは AutoResizeColumn メソッドを適宜呼び出すとか。

投稿者 N88-BASIC   (社会人)   投稿日時 2016/9/1 08:54:19
迅速な回答を頂いておりながらご報告が遅くなり申し訳ありませんでした。

Shu さん、ご回答ありがとうございました。ご案内の方法で、無事解決できました。コントロール全体の設定だと思いプロパティページだけを参考にしていました。

魔界の仮面弁士さん、ご指摘の AutoSizeColumnMode も設定して確認できました。AutoResizeColumn もデータの入力の都度に発生するセルサイズの変更を回避でき、また、必要に応じて調整できるので便利です。

とっぽ さん、検索エンジンはあまり使ったことがないのですが、このような質問でもヒットするとは驚きです。リンク先がどうなるか不安なので検索エンジンはあまり使っていませんでした。

今後ともよろしくお願いいたします。


投稿者 たみとき   (社会人)   投稿日時 2016/9/8 17:00:25
解決して何よりです。

さて、これは回答ではないのですが、
掲示板で質問するまえに、Google等で検索した方がいいです。
検索で見つかったサイトが専門サイトであれば、
より詳しく説明がされている場合が多いですので
勉強のためにはとても有用です。(僕もよく検索します。)

あと、掲示板によっては、「これくらいググれ」と言われたり、
回答がつかなかったりすることがあります。
回答する側もそれなりの労力を伴うということを考えれば
これも当然のことで、まずは自分の努力の結果、
問題解決にたどり着かなかった点を示すことも必要だと思います。

なので、検索エンジンは大いに活用しましょう。いや、すべきです。

投稿者 N88-BASIC   (社会人)   投稿日時 2016/9/12 10:45:14
たみとき さん、貴重なご指摘ありがとうございます。

今回の質問内容などが検索エンジンの対象になっているとは思いませんでした。
基本は 此処の検索とMicrosoft さんのオフィシャルのみでした。

ズバリの回答が得られなくても、関連知識の取得になると思います。

今後ともよろしくお願いいたします。

なお、ご連絡が遅くなり申し訳ありませんでした。