![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
今、VB6で、階層フレキシブルグリッドコントロール(MSHFLEXGRID)を
使用して、ADOデータコントロール(ADODC)で接続した、
ODBCデータベースのデータを表示させています。
その表示されたセルをクリックすることで、横1行データを選択して、
変更用フォームにデータをコピーさせているのですが、
垂直方向のスクロールをしていない状態と
スクロールさせた状態で、クリックした位置(プロパティMouseRowを使用)が
違うのです。
具体的には、データ件数40件で、最大表示30件の状態で、以下のようでした。
『スクロール前』 クリック位置 MouseRowの値
項目欄 0
1行目 0
2行目 1
20行目 19
35行目 クリックせず
40行目 クリックせず
欄外 クリックせず
『スクロール後』
項目欄 0
1行目 1
2行目 2
20行目 20
35行目 35
40行目 40
欄外 40
また、表示件数15件だと、まったく『スクロール前』の状態でしたが、
別の日付のデータでスクロールをさせると、『スクロール後』の状態に
なりました。
どうも、ADODCを使用すると、こうなるらしいのですが、
対策を教えていただけませんか?
No.2ベストアンサー
- 回答日時:
そうですかー。
ならばMSHFlexGridを使用せざるをえないですね。。。要はクリックした正確な位置を取得したいのですよね?
回避方法ですが
1.Private宣言により変数2つを宣言
2.マウスダウンのイベントでMouseRow/MouseColを取得し、Private宣言した変数にセット
3.クリック時イベントでMouseRow/MouseColを取得しないで、Private宣言した変数を使用する
はずしてたら、すいません。
この通りやりましたが、うまくいきませんでした。
ただ、SQL文がまずかったらしく、構成を変えたら
うまくいきました。結果オーライ!ありがとございます。
No.1
- 回答日時:
回答になってはないとは思うけど、、、
僕の場合はあまりFlexGridは使用してません。必要のない機能が多いからです。データを連結して表示するようなことをしてたり、Grid単位での色づけをしてるのであれば話は別ですが・・・
そんなことがないのであれば、DataGridを使用してみてはいかがでしょうか?
ADOデータコントロールを使用してるみたいだし、DataGridとの相性も悪くないですよ。
どうしてもFlexGridじゃなきゃだめですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- 会計ソフト・業務用ソフト Excelの二画面表示でマウスホバーするだけでスクロール 1 2023/02/27 11:00
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- iCloud バックアップが完了したあと、機種変更前のスマホ、リセットしていい?? 1 2023/02/07 14:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでフォームのListbo...
-
リストビューをスクロールさせ...
-
Excelでワードアートや図を常に...
-
Excelで1.2行目だけ固定して...
-
SH900iのスクロールにつ...
-
Visual Basicから Spreadのスク...
-
MFCでのスクロールバーの扱い
-
Excelで一部分だけを常に表示さ...
-
vb,netでtextboxの文字を右から...
-
リストビューの表示開始行変更
-
Webサイト内でスクロールする小...
-
resizeするとスマホで何度もリ...
-
webページで横方向にアンカーを...
-
PDFを(htmlのように)無限に縦...
-
マウスホイールでスクロールで...
-
スクロールテキストボックスで...
-
新宿駅構内で証明写真
-
アコーディオンで開かれたパネ...
-
safariのスクロールが遅い?
-
VC++ DialogBoxへのscroll可能...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
エクセルVBAでフォームのListbo...
-
リストビューをスクロールさせ...
-
PDFを(htmlのように)無限に縦...
-
Excelで一部分だけを常に表示さ...
-
Excelの質問で票の途中に...
-
Excelで1.2行目だけ固定して...
-
ページ訪問時にiframe内を自動...
-
vb,netでtextboxの文字を右から...
-
Visual Basicから Spreadのスク...
-
大きい表へのスクロールバーの...
-
マウスオーバー→ホイール回転で...
-
webページで横方向にアンカーを...
-
ExcelVBAで他のアプリをスクロ...
-
文章の自動スクロール
-
ページ読み込み時に自動でスク...
-
Spreadのスクロールについて
-
C#:ListViewでのスクロールイベ...
-
ポストバック時のスクロール位...
-
常に画像の大きさを横幅100%で...
おすすめ情報