本帖最后由 Lynn.Dou 于 2023-4-25 14:37 编辑
对前面描述方案做了调整,不自定义新的command了,而是在原命令基础上做修改。
demo见附件,主要代码如下:
- var newInsertChartCommand = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.InsertChart);
- if (newInsertChartCommand) {
- var oldExecute = newInsertChartCommand.execute;
- newInsertChartCommand.execute = function (context, propertyName, args) {
- //添加confirm逻辑
- console.log("重写插入图表逻辑");
- // 判断当前选择区域的列数
- var activeSheet = context.getWorkbook().getActiveSheet();
- var sel = activeSheet.getSelections()[0];
- if(sel.colCount != 2) {
- oldExecute.call(this, context, propertyName, args);
- } else {
- alert("数据为2列,禁止插入");
- }
- }
- }
- designerConfig.commandMap = {};
- designerConfig.commandMap[GC.Spread.Sheets.Designer.CommandNames.InsertChart] = newInsertChartCommand;
复制代码 效果图如下:
注:demo仅供参考思路,具体实现请根据实际业务需求自行设计。
|
|