MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
コーディングによるアウトラインの展開と折りたたみ

シートに設定されているアウトラインのレベル数や設定されているアウトラインの情報はそれぞれ、GetRangeGroupLevelsメソッドとGetRangeGroupInfoメソッドにより取得することが可能です。また、アウトラインを展開・折りたたみするにはExpandRangeGroupメソッドを使用します。

【実行例】展開

【実行例】縮小

  • アウトライン機能といくつかの機能(ソートや階層表示など)は併用することができません。詳細については、開発者ガイド 「アウトラインの制限事項」 を参照してください。

 private void Form1_Load(object sender, EventArgs e)
 {
   // 行のアウトラインを設定
   fpSpread1.ActiveSheet.AddRangeGroup(0, 4, true);
   fpSpread1.ActiveSheet.AddRangeGroup(0, 1, true);
   fpSpread1.ActiveSheet.AddRangeGroup(2, 1, true);

   // 列のアウトラインを設定
   fpSpread1.ActiveSheet.AddRangeGroup(0, 4, false);
   fpSpread1.ActiveSheet.AddRangeGroup(0, 1, false);
   fpSpread1.ActiveSheet.AddRangeGroup(2, 1, false);

 }

 private void button1_Click(object sender, EventArgs e)
 {

   // 行のアウトラインレベル数を取得
   int rgl = fpSpread1.ActiveSheet.GetRangeGroupLevels(true);
   for (int index = 1; index <= rgl; index++)
   {
     FarPoint.Win.Spread.RangeGroupInfo[] gi = null;
     // アウトラインのグループ情報を取得
     gi = fpSpread1.ActiveSheet.GetRangeGroupInfo(index, true);
     for (int giidx = 0; giidx <= gi.Length - 1; giidx++)
     {
       // アウトラインを展開します
       fpSpread1.ActiveSheet.ExpandRangeGroup(gi[giidx], true, true);
     }
   }

   // 列のアウトラインレベル数を取得
   int cgl = fpSpread1.ActiveSheet.GetRangeGroupLevels(false);
   for (int index = 1; index <= cgl; index++)
   {
     FarPoint.Win.Spread.RangeGroupInfo[] gi = null;
     // アウトラインのグループ情報を取得
     gi = fpSpread1.ActiveSheet.GetRangeGroupInfo(index, false);
     for (int giidx = 0; giidx <= gi.Length - 1; giidx++)
     {
       // アウトラインを展開します
       fpSpread1.ActiveSheet.ExpandRangeGroup(gi[giidx], false, true);
     }

   }

 }

 private void button2_Click(object sender, EventArgs e)
 {
   // 行のアウトラインレベル数を取得
   int rgl = fpSpread1.ActiveSheet.GetRangeGroupLevels(true);
   for (int index = 1; index <= rgl; index++)
   {
     FarPoint.Win.Spread.RangeGroupInfo[] gi = null;
     // アウトラインのグループ情報を取得
     gi = fpSpread1.ActiveSheet.GetRangeGroupInfo(index, true);
     for (int giidx = 0; giidx <= gi.Length - 1; giidx++)
     {
       // アウトラインを折りたたみます
       fpSpread1.ActiveSheet.ExpandRangeGroup(gi[giidx], true, false);
     }
   }

   // 列のアウトラインレベル数を取得
   int cgl = fpSpread1.ActiveSheet.GetRangeGroupLevels(false);
   for (int index = 1; index <= cgl; index++)
   {
     FarPoint.Win.Spread.RangeGroupInfo[] gi = null;
     // アウトラインのグループ情報を取得
     gi = fpSpread1.ActiveSheet.GetRangeGroupInfo(index, false);
     for (int giidx = 0; giidx <= gi.Length - 1; giidx++)
     {
       // アウトラインを折りたたみます
       fpSpread1.ActiveSheet.ExpandRangeGroup(gi[giidx], false, false);
     }

   }

 }
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

   ' 行のアウトラインを設定
   FpSpread1.ActiveSheet.AddRangeGroup(0, 4, True)
   FpSpread1.ActiveSheet.AddRangeGroup(0, 1, True)
   FpSpread1.ActiveSheet.AddRangeGroup(2, 1, True)

   ' 列のアウトラインを設定
   FpSpread1.ActiveSheet.AddRangeGroup(0, 4, False)
   FpSpread1.ActiveSheet.AddRangeGroup(0, 1, False)
   FpSpread1.ActiveSheet.AddRangeGroup(2, 1, False)

 End Sub

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

   ' 行のアウトラインレベル数を取得
   Dim rgl As Integer = FpSpread1.ActiveSheet.GetRangeGroupLevels(True)
   For index As Integer = 1 To rgl
     Dim gi() As FarPoint.Win.Spread.RangeGroupInfo
     ' アウトラインのグループ情報を取得
     gi = FpSpread1.ActiveSheet.GetRangeGroupInfo(index, True)
     For giidx As Integer = 0 To gi.Length - 1
       ' アウトラインを展開します
       FpSpread1.ActiveSheet.ExpandRangeGroup(gi(giidx), True, True)
     Next
   Next

   ' 列のアウトラインレベル数を取得
   Dim cgl As Integer = FpSpread1.ActiveSheet.GetRangeGroupLevels(False)
   For index As Integer = 1 To cgl
     Dim gi() As FarPoint.Win.Spread.RangeGroupInfo
     ' アウトラインのグループ情報を取得
     gi = FpSpread1.ActiveSheet.GetRangeGroupInfo(index, False)
     For giidx As Integer = 0 To gi.Length - 1
       ' アウトラインを展開します
       FpSpread1.ActiveSheet.ExpandRangeGroup(gi(giidx), False, True)
     Next
   Next

 End Sub

 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

   ' 行のアウトラインレベル数を取得
   Dim rgl As Integer = FpSpread1.ActiveSheet.GetRangeGroupLevels(True)
   For index As Integer = 1 To rgl
     Dim gi() As FarPoint.Win.Spread.RangeGroupInfo
     ' アウトラインのグループ情報を取得
     gi = FpSpread1.ActiveSheet.GetRangeGroupInfo(index, True)
     For giidx As Integer = 0 To gi.Length - 1
       ' アウトラインを折りたたみます
       FpSpread1.ActiveSheet.ExpandRangeGroup(gi(giidx), True, False)
     Next
   Next

   ' 列のアウトラインレベル数を取得
   Dim cgl As Integer = FpSpread1.ActiveSheet.GetRangeGroupLevels(False)
   For index As Integer = 1 To cgl
     Dim gi() As FarPoint.Win.Spread.RangeGroupInfo
     ' アウトラインのグループ情報を取得
     gi = FpSpread1.ActiveSheet.GetRangeGroupInfo(index, False)
     For giidx As Integer = 0 To gi.Length - 1
       ' アウトラインを折りたたみます
       FpSpread1.ActiveSheet.ExpandRangeGroup(gi(giidx), False, False)
     Next
   Next

 End Sub

 

 


© MESCIUS inc. All rights reserved.