- - PR -
2つのdatagridviewのスクロール同期の方法
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-06 20:11
2つのdatagridviewのスクロール同期の方法についてなんですが、
スクロールが最後の所でずれてしまいます。 datagridview2を横スクロールすると、datagridview1も連動してスクロールさせたいです。 使い道はdatagridview1の合計・平均をdatagridview2に表示させたいです。 以下がコードです。 Private Sub datagridview2_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles datagridview2.Scroll Dim r As String = datagridview2.FirstDisplayedScrollingColumnIndex datagridview1.FirstDisplayedScrollingColumnIndex = r End Sub なにかいい方法がありましたら教えて下さい。 よろしくお願い致します。VB2005 XPです。 | ||||||||
|
投稿日時: 2006-02-07 08:10
同じ一つのデータグリッドに表示しては駄目なんでしょうか?
何故にString? 試してはいません。ですが、本来は上記のコードで問題ないはずです。両方のDataGridViewのサイズが微妙に違っていたり、カラムの高さが微妙に違っていたりしてませんか? | ||||||||
|
投稿日時: 2006-02-08 17:42
お返事ありがとうございます。
どうも原因はdatagridviewを最後までスクロールした場合に左端にセルが中途半端に表示されてしまうために起こるみたいです。 サイズを合わせれば問題ないのでしょうが、難しいです。 >何故にString? integerでも同じ動きでした。 何か他にスクロールを同期させる方法はないでしょうか? よろしくお願い致します。 | ||||||||
|
投稿日時: 2006-02-08 18:01
FirstDisplayedScrollingColumnIndexプロパティの代わりにHorizontalScrollingOffsetプロパティを使うのはどうでしょう。 | ||||||||
|
投稿日時: 2006-02-08 18:49
ありがとうございます。HorizontalScrollingOffsetで無事できましたありがとうございます。
先ほどなんですが、理由はよくわかりませんが コードに変更をしたら問題なく動きそうでした。 Private Sub datagridview2_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles datagridview2.Scroll Dim r As String = datagridview2.FirstDisplayedScrollingColumnIndex datagridview1.FirstDisplayedScrollingColumnIndex = r End Sub のコードのDim r As String = datagridview2.FirstDisplayedScrollingColumnIndex をDim r As String = datagridview2.FirstDisplayedScrollingColumnIndex +1 にへんこうです。(+1の部分です。) |
1