こんにちわw vb.netです
色々調べたんですがなかなか見つからないので質問させてもらいます
グリッド上の列"チェック"にチェックボックスを設定しています。
グリッド上に明細が表示され、チェックボックスをONにしたデータが更新対象としています。
そこで、チェックボックスをON・OFFにする場合ダブルクリックしないと切り替えができません。
詳しく説明すると一回目のクリックは行選択
二回目のクリックはチェックボックスの切り替え(ON・OFF)
といった感じになっています。
いろいろな参考書に記載されているサンプルプログラムとか見てみましたが
どれもダブルクリックじゃないと切り替えができませんでした。
この現象はしょうがないのでしょうか?
[VB.NET]で『グリッド』って言えば…まぁ、DataGrid かもしれないですが、
[VB6.0]時代の MSFlexGrid やグレープシティの True DBGrid とかも
使えるので一応、『DataGrid』という言葉は使うようにして下さいね?
(前の質問ではソースから予想がついたので何も言いませんでしたが…)
DataGrid の動きとして、チェックボックス(DataGridBoolColumn 設定の列)
のセルは、
・カレントセルの場合、シングルクリックで値が変わる
・カレントセルでない場合、シングルクリックでカレントセル移動
…だと思います。確認して下さい。
また、マウスでクリックしたセルの情報は HitTest メソッドにて
取得できます。
[DataGridの指定された座標位置の情報を取得する]
http://dobon.net/vb/dotnet/datagrid/hittest.html
という事は、
1、クリックされたセルがカレントセルでなく、
2、しかもチェックボックスだった場合に
3、値を変更してやれば
実現できそうです。
ツイート | ![]() |