【Tips】異なるSPREAD間で列幅の同期を実装する方法
対象製品
SPREAD for Windows Forms 5.0J
詳細
列幅が変更された場合、ColumnWidthChanged イベントが発生します。このタイミングで別SPREADの列幅を再設定することで、SPREAD間での同期を実装することが出来ます。また、行の高さが変更された場合はRowHeightChanged イベントが発生します。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Private Sub FpSpread1_ColumnWidthChanged(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.ColumnWidthChangedEventArgs) Handles FpSpread1.ColumnWidthChanged
For Each c As FarPoint.Win.Spread.ColumnWidthChangeExtents In e.ColumnList
For i As Integer = c.FirstColumn To c.LastColumn
' FpSpread1の列幅をFpSpread2に設定します
FpSpread2.ActiveSheet.Columns(i).Width = FpSpread1.ActiveSheet.Columns(i).Width
Next
Next
End Sub
For Each c As FarPoint.Win.Spread.ColumnWidthChangeExtents In e.ColumnList
For i As Integer = c.FirstColumn To c.LastColumn
' FpSpread1の列幅をFpSpread2に設定します
FpSpread2.ActiveSheet.Columns(i).Width = FpSpread1.ActiveSheet.Columns(i).Width
Next
Next
End Sub
◎サンプルコード(C#)
private void fpSpread1_ColumnWidthChanged(object sender, FarPoint.Win.Spread.ColumnWidthChangedEventArgs e)
{
foreach (FarPoint.Win.Spread.ColumnWidthChangeExtents c in e.ColumnList)
{
for (int i = c.FirstColumn; i <= c.LastColumn; i++)
{
// FpSpread1の列幅をFpSpread2に設定します
fpSpread2.ActiveSheet.Columns[i].Width = fpSpread1.ActiveSheet.Columns[i].Width;
}
}
}
{
foreach (FarPoint.Win.Spread.ColumnWidthChangeExtents c in e.ColumnList)
{
for (int i = c.FirstColumn; i <= c.LastColumn; i++)
{
// FpSpread1の列幅をFpSpread2に設定します
fpSpread2.ActiveSheet.Columns[i].Width = fpSpread1.ActiveSheet.Columns[i].Width;
}
}
}
関連情報
- 階層表示で親階層と子階層の水平スクロールを同期させたい
- 異なるSPREAD間で数式を設定出来ますか?
- 複数シート間でのスクロール同期を実装する方法 (シート上にて表示されている先頭行/列が変更されたタイミングの取得)
キーワード
「同期」
この文書は、以前は次のFAQ IDで公開されていました : 12977