掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
選択範囲についてデータグリッドもしくはMSHFlexGridで (ID:87577)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
あ、そういうご質問だったんですね。おもいっきりはずして失礼しました。 > DataGridでは・・・シフトキーはデフォルトの状態では効いていないので これって仕様かと思ってましたが?(根拠はないです) でもお気持ちはちょっとわかります。 で、そこの機能むりやり自作されるのなら、 (たぶんとっくにやられてみたけどうまくいかない、のかも知れませんが) DataGridのKeyDownイベントの引数(KeyCode As Integer, Shift As Integer) を使い、そのイベント内で、シフトキーが押されたのかIf文で調べて シフトキーなら処理をする、ってのは駄目ですか? 下記にそのイメージのコードを書いておきます。 ※ただし、このコードはみてのとおり悲しいかなカレントレコードの 1レコードしか選択してくれませんので、複数選択の場合もこの考えで いけるかどうかを保障するものではありませんが。 '(注意)DataGridコントロール名がGridDataでかつ 'いっしょに使用しているADODCコントロール名をAdoDataとします。 Private Sub GridData_KeyDown(KeyCode As Integer, Shift As Integer) If Not (KeyCode = vbKeyShift) Then Exit Sub Dim RsGrid As ADODB.Recordset 'グリッドの表示上の内容のレコードセット用 Set RsGrid = Me.AdoData.Recordset If RsGrid.EOF = True Then Exit Sub GridData.SelBookmarks.Add RsGrid.Bookmark '強制的に今いる行の1レコードを選択する 'ちゃんと1レコード選択されたかを見るテスト If Not (1 = GridData.SelBookmarks.Count) Then MsgBox "No Selected" Exit Sub Else MsgBox "Selected" End If End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.