您看哈,GC.Spread.Sheets.Designer.showDialog是个静态方法,非某个具体对象调用,因此这样调用弹出的查找对话框缺少了一些必要的上下文信息,这才导致使用时抛出异常信息。
对于您的需要,可以参考如下代码,在工具栏添加一个自定义按钮以弹出符合您需要的仅包含查找功能的对话框:
- var baseTemplate = GC.Spread.Sheets.Designer.getTemplate("findDialogTemplate");
- var onlyFindTemplate = GC.Spread.Sheets.Designer.getTemplate("findDialogTemplate");
- onlyFindTemplate.content[0].children.splice(1, 1);
- var findCmd = GC.Spread.Sheets.Designer.getCommand("find");
- var findCmdExe = findCmd.execute;
- findCmd.bigButton = true;
- findCmd.commandName = 'findEx';
- findCmd.execute = function (context, selectValue) {
- GC.Spread.Sheets.Designer.registerTemplate('findDialogTemplate', onlyFindTemplate);
- findCmdExe.apply(this, arguments);
- GC.Spread.Sheets.Designer.registerTemplate('findDialogTemplate', baseTemplate);
- };
- findCmd.text = "My Find";
- var config = GC.Spread.Sheets.Designer.DefaultConfig;
- config.ribbon[0].buttonGroups[7].commandGroup.children.push('findEx');
- config.commandMap = {
- findEx: findCmd
- }
- designer.setConfig(config);
复制代码 |