- <!DOCTYPE html>
- <html lang="zh">
- <head>
- <meta charset="utf-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <meta name="spreadjs culture" content="zh-cn" />
- <title>SpreadJS Designer</title>
- <link
- href="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets/styles/gc.spread.sheets.excel2013white.css"
- rel="stylesheet" type="text/css" />
- <link
- href="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-designer/styles/gc.spread.sheets.designer.min.css"
- rel="stylesheet" type="text/css">
- <style>
- .sample-tutorial {
- position: relative;
- height: 100%;
- overflow: hidden;
- }
- .sample-spreadsheets {
- width: calc(100% - 280px);
- height: 100%;
- overflow: hidden;
- float: left;
- }
- .options-container {
- float: right;
- width: 280px;
- padding: 12px;
- height: 100%;
- box-sizing: border-box;
- background: #fbfbfb;
- overflow: auto;
- }
- .option-row {
- font-size: 14px;
- padding: 5px;
- }
- label {
- display: block;
- margin-bottom: 6px;
- }
- input[type=button] {
- margin-top: 6px;
- display: block;
- }
- body {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- }
- </style>
- </head>
- <body unselectable="on">
- <div id="gc-designer-container" role="application"></div>
- <div class="sample-tutorial">
- <div id="ss" class="sample-spreadsheets"></div>
- <div class="options-container">
- <label >Please select a range and click 'Set BackColor' button will set backColor for the range, and click 'Undo' button and 'Redo' button will undo and redo the set backColor action.</label>
- <div class="option-row">
- <input type="button" id="setBackColor" value="Set BackColor" />
- </div>
- <div class="option-row">
- <input type="button" id="undo" value="Undo" />
- </div>
- <div class="option-row">
- <input type="button" id="redo" value="Redo" />
- </div>
- <hr>
- <div class="option-row">
- <label >Use the keyboard shortcuts 'Ctrl-Z' to undo the custom action, and use the keyBoard shortcuts 'Ctrl-Y' to redo the custom action.</label>
- </div>
- </div>
- </div>
- <script type="text/javascript"
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets/dist/gc.spread.sheets.all.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-charts/dist/gc.spread.sheets.charts.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-shapes/dist/gc.spread.sheets.shapes.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-slicers/dist/gc.spread.sheets.slicers.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-print/dist/gc.spread.sheets.print.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-barcode/dist/gc.spread.sheets.barcode.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-pdf/dist/gc.spread.sheets.pdf.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-pivot-addon/dist/gc.spread.pivot.pivottables.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-tablesheet/dist/gc.spread.sheets.tablesheet.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-ganttsheet/dist/gc.spread.sheets.ganttsheet.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-formula-panel/dist/gc.spread.sheets.formulapanel.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-excelio/dist/gc.spread.excelio.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-io/dist/gc.spread.sheets.io.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-resources-zh/dist/gc.spread.sheets.resources.zh.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-designer-resources-cn/dist/gc.spread.sheets.designer.resource.cn.min.js"></script>
- <script
- src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.2.2/spread-sheets-designer/dist/gc.spread.sheets.designer.all.min.js"></script>
- <script type="text/javascript">
- window.onload = function () {
- const customConfig = GC.Spread.Sheets.Designer.DefaultConfig;
- let undoList = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.UndoList);
- let redoList = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.RedoList);
- redoList.commandMap['changeBackColor'] = '哈哈哈哈哈哈';
- undoList.commandMap['changeBackColor'] = '哈哈哈哈哈哈';
- var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById("ss"));
- var spread = designer.getWorkbook();
- var undoManager = spread.undoManager();
- _getElementById('undo').addEventListener('click', function () {
- undoManager.undo();
- });
- _getElementById('redo').addEventListener('click', function () {
- undoManager.redo();
- });
- _getElementById('setBackColor').addEventListener('click', function () {
- initSpread(spread);
- });
- };
- function initSpread(spread) {
- var sheet = spread.getActiveSheet();
- var command = {
- canUndo: true,
- execute: function (spread, options, isUndo) {
- var Commands = GC.Spread.Sheets.Commands;
- if (isUndo) {
- Commands.undoTransaction(spread, options);
- return true;
- } else {
- Commands.startTransaction(spread, options);
- spread.suspendPaint();
- var selections = options.selections;
- var value = options.backColor;
- selections.forEach(function (sel) {
- sheet.getRange(sel.row, sel.col, sel.rowCount, sel.colCount).backColor(value);
- });
- spread.resumePaint();
- Commands.endTransaction(spread, options);
- return true;
- }
- }
- };
- var selections = sheet.getSelections();
- var commandManager = spread.commandManager();
- commandManager.register('changeBackColor', command);
- commandManager.execute({
- cmd: 'changeBackColor',
- sheetName: spread.getSheet(0).name(),
- selections: selections,
- backColor: 'rgb(130, 188, 0)'
- });
- }
- function _getElementById(id) {
- return document.getElementById(id);
- }
- </script>
- </body>
- </html>
复制代码
|
|