グループアウトラインをコードによって展開または折りたたむことができます。
次のサンプルコードは、グループアウトラインを展開して折りたたみます。
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(); }); } |