DOBON.NET DOBON.NETプログラミング掲示板過去ログ

データグリッドでの画面分割

環境/言語:[Visual Basic .NET]
分類:[.NET]

os:Windows 2000
環境:Visual Basic .NET


こんにちは。
データグリッドでの表現で列が長くなってしまう場合に、
画面分割を行い部分的にスクロールさせる事は可能なのでしょうか?

(エクセルでのウィンドウ分割⇒枠固定のようなイメージ)

例えば顧客情報をデータグリッド表示させる場合に
顧客コード(キー部)を固定的に列表現させ、その他の列は右へスクロールと
云うようなイメージです。

キー部の列と、その他の列を別々のデータグリッド等で表示させて同期的に
スクロールと云う事も考えたのですが、グリッド機能で画面分割が出来れば
幸いと思っています。
良い案がありましたらお知恵を御貸し下さい。
以下の頁を参考に2つのデータグリッドを作成し、同期スクロールで仮実現致しました。

http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=3992&rev=&no=0

但し、
@スクロールバーでの同期は可能なのですかマウスのコロコロは拾えないみたいです。
A主体(例ではMyDataGrid1)のスクロールバーで同期スクロールは出来ますが、
 従属(例ではMyDataGrid2)のスクロールバーを動かしても独立して動くみたいです。

マウスボタンでのスクロールは抑止するか、不恰好ですが以下のコードで対処しています。
(但し行が上手い具合に揃わない為に交互に行の色を変えてみやすくしています。)

'**
'** 同期スクロール(グリッド1主体)
'**
Private Sub MyDataGrid1_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyDataGrid1.Scroll
MyDataGrid1.Focus()
MyDataGrid2.Focus()
End Sub
'**
'** 同期スクロール(グリッド2主体)
'**
Private Sub MyDataGrid2_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyDataGrid2.Scroll
MyDataGrid2.Focus()
MyDataGrid1.Focus()
End Sub
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板