複数シート間でのスクロール同期を実装する方法 (シート上にて表示されている先頭行/列が変更されたタイミングの取得)

文書番号 : 31186     文書種別 : 使用方法     最終更新日 : 2011/08/10
文書を印刷する
対象製品
SPREAD for Windows Forms 5.0J
詳細
垂直スクロールを行った場合、表示されている先頭行が変更されると、FpSpreadクラスのTopChangeイベントが発生します。このタイミングで別シートの先頭行を再設定することにより、シート間での同期を実装することが出来ます。

なお、水平スクロールの場合には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


◎サンプルコード(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);
}
関連情報
キーワード
「同期」