複数シート間でのスクロール同期を実装する方法 (シート上にて表示されている先頭行/列が変更されたタイミングの取得)
対象製品
SPREAD for Windows Forms 5.0J
詳細
垂直スクロールを行った場合、表示されている先頭行が変更されると、FpSpreadクラスのTopChangeイベントが発生します。このタイミングで別シートの先頭行を再設定することにより、シート間での同期を実装することが出来ます。
なお、水平スクロールの場合にはLeftChangeイベントが発生します。こちらについても同様に実装することが出来ます。各イベントの詳細については製品ヘルプをご参照ください。
◎サンプルコード(VB)
◎サンプルコード(C#)
なお、水平スクロールの場合にはLeftChangeイベントが発生します。こちらについても同様に実装することが出来ます。各イベントの詳細については製品ヘルプをご参照ください。
◎サンプルコード(VB)
Imports FarPoint.Win.Spread
Private Sub FpSpread1_TopChange(ByVal sender As Object, ByVal e As TopChangeEventArgs) Handles FpSpread1.TopChange
'<垂直スクロールの同期>
'FpSpread1の先頭行をFpSpread2に設定します
FpSpread2.SetViewportTopRow(0, e.NewTop)
End Sub
Private Sub FpSpread1_LeftChange(ByVal sender As Object, ByVal e As LeftChangeEventArgs) Handles FpSpread1.LeftChange
'<水平スクロールの同期>
'FpSpread1の先頭列をFpSpread2に設定します
FpSpread2.SetViewportLeftColumn(0, e.NewLeft)
End Sub
Private Sub FpSpread1_TopChange(ByVal sender As Object, ByVal e As TopChangeEventArgs) Handles FpSpread1.TopChange
'<垂直スクロールの同期>
'FpSpread1の先頭行をFpSpread2に設定します
FpSpread2.SetViewportTopRow(0, e.NewTop)
End Sub
Private Sub FpSpread1_LeftChange(ByVal sender As Object, ByVal e As LeftChangeEventArgs) Handles FpSpread1.LeftChange
'<水平スクロールの同期>
'FpSpread1の先頭列をFpSpread2に設定します
FpSpread2.SetViewportLeftColumn(0, e.NewLeft)
End Sub
◎サンプルコード(C#)
using FarPoint.Win.Spread;
private void fpSpread1_TopChange(object sender, FarPoint.Win.Spread.TopChangeEventArgs e)
{
//<垂直スクロールの同期>
//FpSpread1の先頭行をFpSpread2に設定します
fpSpread2.SetViewportTopRow(0, e.NewTop);
}
private void fpSpread1_LeftChange(object sender, FarPoint.Win.Spread.LeftChangeEventArgs e)
{
//<水平スクロールの同期>
//FpSpread1の先頭列をFpSpread2に設定します
fpSpread2.SetViewportLeftColumn(0, e.NewLeft);
}
private void fpSpread1_TopChange(object sender, FarPoint.Win.Spread.TopChangeEventArgs e)
{
//<垂直スクロールの同期>
//FpSpread1の先頭行をFpSpread2に設定します
fpSpread2.SetViewportTopRow(0, e.NewTop);
}
private void fpSpread1_LeftChange(object sender, FarPoint.Win.Spread.LeftChangeEventArgs e)
{
//<水平スクロールの同期>
//FpSpread1の先頭列をFpSpread2に設定します
fpSpread2.SetViewportLeftColumn(0, e.NewLeft);
}
関連情報
キーワード
「同期」