Spread.Sheets
アウトラインの展開と折りたたみ

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

コードの使用

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

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();
     });

                      }

参照

 

 


© 2016-2017, GrapeCity inc. All rights reserved.