ActiveX版のAutoSizeと同等の機能はありますか?

文書番号 : 39903     文書種別 : 使用方法     登録日 : 2017/02/15     最終更新日 : 2017/02/15
文書を印刷する
対象製品
SPREAD for Windows Forms 10.0J
詳細
.NET版のSPREADには、ActiveX版のSPREADのAutoSizeプロパティと同等の機能を提供しておりません。

セル・ヘッダ・スクロールバーなどの高さ(幅)の合計を計算し、SPREAD の高さ(幅)に設定する方法があります。ただし、こちらの方法を実装される際は十分なご検証を行う必要があります。

◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  Dim sprHeight As Double ' 表示させるSPREADの高さ
  Dim rowCont As Integer ' 表示させる行数
  Dim colHCont As Integer ' 列ヘッダの行数
  Dim adjHeight As Double ' 高さの微調整

  sprHeight = 0
  rowCont = 5
  colHCont = 2
  adjHeight = 4.0

  FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Always
  FpSpread1.ActiveSheet.ColumnHeaderRowCount = colHCont

  ' 表示させるセルの高さを計算
  For i As Integer = 0 To rowCont - 1
    sprHeight += FpSpread1.ActiveSheet.Rows(i).Height
  Next

  ' 列ヘッダ分の高さを計算
  For i As Integer = 0 To colHCont - 1
    sprHeight += FpSpread1.ActiveSheet.RowHeader.Rows(i).Height
  Next

  FpSpread1.Height = sprHeight + SystemInformation.HorizontalScrollBarHeight + adjHeight
End Sub


◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
  double sprHeight; // 表示させるSPREADの高さ
  int rowCont; // 表示させる行数
  int colHCont; // 列ヘッダの行数
  double adjHeight; // 高さの微調整

  sprHeight = 0;
  rowCont = 5;
  colHCont = 2;
  adjHeight = 4.0;

  fpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Always;
  fpSpread1.ActiveSheet.ColumnHeaderRowCount = colHCont;

  // 表示させるセルの高さを計算
  for (int i = 0; i < rowCont; i++)
  {
    sprHeight += fpSpread1.ActiveSheet.Rows[i].Height;
  }

  // 列ヘッダ分の高さを計算
  for (int i = 0; i < colHCont; i++)
  {
    sprHeight += fpSpread1.ActiveSheet.RowHeader.Rows[i].Height;
  }

  fpSpread1.Height = (int)(sprHeight + SystemInformation.HorizontalScrollBarHeight + adjHeight);
}
関連情報
キーワード
移行