本帖最后由 Ellia.Duan 于 2023-12-26 16:48 编辑
问题背景:部分客户希望能够修改设计器创建的表格默认样式,但是现在没有相关的接口能够实现这样的需求,能否通过代码来实现呢?
解决方案:可以通过重写创建表格的指令来实现这样的需求,创建表格的指令为:“Designer.createDefaultTable”,在这个指令中将table的style设置为想要设置的样式即可实现,参考代码如下:
- let command = {
- canUndo: true,
- execute: function (context, options, isUndo) {
- let Commands = GC.Spread.Sheets.Commands;
- if (isUndo) {
- Commands.undoTransaction(context, options);
- return true;
- } else {
- Commands.startTransaction(context, options);
- context.suspendPaint();
- let sheet = context.getActiveSheet();
- let selection = sheet.getSelections()[0];
- let name = Date.now();
- console.log(name);
- let table = sheet.tables.add(
- name,
- selection.row,
- selection.col,
- selection.rowCount,
- selection.colCount,
- undefined
- );
- table.style(undefined);
- context.resumePaint();
- Commands.endTransaction(context, options);
- return true;
- }
- },
- };
- let commandManager = spread.commandManager();
- commandManager.register("Designer.createDefaultTable", command);
复制代码
那么如果在SpreadJS中,如何创建一个无样式Table呢?可以参考下这篇文章:
https://gcdn.grapecity.com.cn/showtopic-197752-1-1.html
|
|