作成日: 2024/02/21 最終更新日: 2024/02/21
文書種別
技術情報
詳細
スクロール位置はシートに表示される端のセルを指定することで変更します。
シートに表示されている一番上の行インデックスをGetViewportTopRowメソッド、一番左の列インデックスをGetViewportLeftColumnメソッドで確認することができ、これをスクロール位置として保存します。
シートのスクロール位置の指定は、垂直方向の場合にはSetViewportTopRowメソッド、水平方向の場合にはSetViewportLeftColumnメソッドにより行うことができ、これに保存しておいた行インデックスや列インデックスを設定することでスクロール位置を復元します。
なお、スクロールをピクセル単位に設定している場合には、そのスクロール位置の保存・復元はできません。
◎サンプルコード(VB)
Private topRow As Integer = 0
Private lefttCol As Integer = 0
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 垂直スクロール位置の保存
Dim rowViewIndex = FpSpread1.GetActiveRowViewportIndex()
topRow = FpSpread1.GetViewportTopRow(rowViewIndex)
' 水平スクロール位置の保存
Dim colViewIndex = FpSpread1.GetActiveColumnViewportIndex()
lefttCol = FpSpread1.GetViewportLeftColumn(colViewIndex)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' 垂直スクロール位置の復元
Dim rowViewIndex = FpSpread1.GetActiveRowViewportIndex()
FpSpread1.SetViewportTopRow(rowViewIndex, topRow)
' 水平スクロール位置の復元
Dim colViewIndex = FpSpread1.GetActiveColumnViewportIndex()
FpSpread1.SetViewportLeftColumn(colViewIndex, lefttCol)
End Sub
◎サンプルコード(C#)
private int topRow = 0;
private int lefttCol = 0;
private void button1_Click(object sender, EventArgs e)
{
// 垂直スクロール位置の保存
var rowViewIndex = fpSpread1.GetActiveRowViewportIndex();
topRow = fpSpread1.GetViewportTopRow(rowViewIndex);
// 水平スクロール位置の保存
var colViewIndex = fpSpread1.GetActiveColumnViewportIndex();
lefttCol = fpSpread1.GetViewportLeftColumn(colViewIndex);
}
private void button2_Click(object sender, EventArgs e)
{
// 垂直スクロール位置の復元
var rowViewIndex = fpSpread1.GetActiveRowViewportIndex();
fpSpread1.SetViewportTopRow(rowViewIndex, topRow);
// 水平スクロール位置の復元
var colViewIndex = fpSpread1.GetActiveColumnViewportIndex();
fpSpread1.SetViewportLeftColumn(colViewIndex, lefttCol);
}