Joestar.Xu 发表于 2023-11-30 15:21:24

Designer修改默认创建的表格样式

本帖最后由 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();

      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



页: [1]
查看完整版本: Designer修改默认创建的表格样式