SpreadJS製品ヘルプ
アウトラインの展開と折りたたみ
SpreadJS > サンプルコード > 範囲グループのサンプルコード > アウトラインの展開と折りたたみ

グループアウトラインをコードによって展開または折りたたむことができます。

コードの使用

次のサンプルコードは、グループアウトラインを展開して折りたたみます。

JavaScript
コードのコピー
window.onload = function(){
      var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"),{sheetCount:3});
      var activeSheet = spread.getActiveSheet();
  activeSheet.suspendPaint();
 //行のアウトラインを設定します。
activeSheet.rowOutlines.group(0, 4);
 activeSheet.rowOutlines.group(0, 1);
 activeSheet.rowOutlines.group(2, 1);
 //列のアウトラインを設定します。
activeSheet.columnOutlines.group(0, 4);
 activeSheet.columnOutlines.group(0, 1);
 activeSheet.columnOutlines.group(2, 1);
 activeSheet.resumePaint();
$("#button1").click(function(){
 // 行のアウトラインレベル数を取得します。
         var rgl = activeSheet.rowOutlines.getMaxLevel();
          for(var index = 0; index <= rgl; index++){
              // アウトラインを展開します。
             activeSheet.rowOutlines.expand(index, true);
          }
         // 列のアウトラインレベル数を取得します。
         var cgl = activeSheet.columnOutlines.getMaxLevel();
          var gi = [];
          var colCount = activeSheet.getColumnCount();
          for(var index = 0, i = 0; index <= cgl; index++){
              for(var col = 0; col < colCount; col++){
                  // アウトラインのグループ情報を取得します。
                 var groupInfo = activeSheet.columnOutlines.find(col, index);
                  if(groupInfo){
                      gi[i] = groupInfo;
                      i++;
                      col = groupInfo.end;
                  }
              }
          }
          for(var i = 0; i < gi.length; i++){
              // アウトラインを展開します。
             activeSheet.columnOutlines.expandGroup(gi[i], true);
          }
          activeSheet.invalidateLayout();
          activeSheet.repaint();
      });
     $("#button2").click(function(){
          // 行のアウトラインレベル数を取得します。
         var rgl = activeSheet.rowOutlines.getMaxLevel();
         for(var index = 0; index <= rgl; index++){
              // アウトラインを折りたたみます。
             activeSheet.rowOutlines.expand(index, false);
          }
          // 列のアウトラインレベル数を取得します。
         var cgl = activeSheet.columnOutlines.getMaxLevel();
          var gi = [];
          var colCount = activeSheet.getColumnCount();
          for(var index = 0, i = 0; index <= cgl; index++){
              for(var col = 0; col < colCount; col++){
                  // アウトラインのグループ情報を取得します。
                 var groupInfo = activeSheet.columnOutlines.find(col, index);
                  if(groupInfo){
                      gi[i] = groupInfo;
                      i++;
                      col = groupInfo.end;
                  }
              }
          }
          for(var i = 0; i < gi.length; i++){
              // アウトラインを折りたたみます。
             activeSheet.columnOutlines.expandGroup(gi[i], false);
          }
          activeSheet.invalidateLayout();
          activeSheet.repaint();
      });
                      }
関連トピック

開発者の手引き