グリッド上のチェックボックスをシングルクリックでチェックしたい


めぐう  2004-08-20 22:32:05  No: 115805

こんにちわw  vb.netです
色々調べたんですがなかなか見つからないので質問させてもらいます

グリッド上の列"チェック"にチェックボックスを設定しています。
グリッド上に明細が表示され、チェックボックスをONにしたデータが更新対象としています。
そこで、チェックボックスをON・OFFにする場合ダブルクリックしないと切り替えができません。
詳しく説明すると一回目のクリックは行選択
二回目のクリックはチェックボックスの切り替え(ON・OFF)
といった感じになっています。

いろいろな参考書に記載されているサンプルプログラムとか見てみましたが
どれもダブルクリックじゃないと切り替えができませんでした。
この現象はしょうがないのでしょうか?


特攻隊長まるるう  2004-08-20 23:56:58  No: 115806

[VB.NET]で『グリッド』って言えば…まぁ、DataGrid かもしれないですが、
[VB6.0]時代の MSFlexGrid やグレープシティの True DBGrid とかも
使えるので一応、『DataGrid』という言葉は使うようにして下さいね?
(前の質問ではソースから予想がついたので何も言いませんでしたが…)

DataGrid の動きとして、チェックボックス(DataGridBoolColumn 設定の列)
のセルは、
・カレントセルの場合、シングルクリックで値が変わる
・カレントセルでない場合、シングルクリックでカレントセル移動
…だと思います。確認して下さい。

また、マウスでクリックしたセルの情報は HitTest メソッドにて
取得できます。
[DataGridの指定された座標位置の情報を取得する]
http://dobon.net/vb/dotnet/datagrid/hittest.html

という事は、
1、クリックされたセルがカレントセルでなく、
2、しかもチェックボックスだった場合に
3、値を変更してやれば
実現できそうです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加