找回密码
 立即注册

QQ登录

只需一步,快速开始

helloworldplus

注册会员

10

主题

25

帖子

85

积分

注册会员

积分
85
最新发帖
helloworldplus
注册会员   /  发表于:2024-10-25 17:48  /   查看:283  /  回复:6
1金币
本帖最后由 Wilson.Zhang 于 2024-10-28 08:32 编辑

请问一下如何使用表格设计器 Designer 实现点击按钮增大选中单元格的字体大小。

最佳答案

查看完整内容

可以通过命令Designer.setFontSize实现,既然是增大字体,那就需要先获取当前字体尺寸,可以自定义每次点击按钮时增加0.5或1个单位的字体大小。可以参考如下代码:

6 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-10-25 17:48:41
来自 4#
helloworldplus 发表于 2024-10-28 09:32
您好,我貌似没有找到这个方法或属性,然后文档中的命令有个 IncreaseFontsize var command = GC.Spread.Sh ...

可以通过命令Designer.setFontSize实现,既然是增大字体,那就需要先获取当前字体尺寸,可以自定义每次点击按钮时增加0.5或1个单位的字体大小。可以参考如下代码:
  1. spread.commandManager().execute({
  2.     cmd: "Designer.setFontSize",
  3.     activeColIndex: sheet.getActiveColumnIndex(),
  4.     activeRowIndex: sheet.getActiveRowIndex(),
  5.     selections: sheet.getSelections(),
  6.     sheetName: sheet.name(),
  7.     value: function getFontSize() {
  8.             //  获取当前单元格字体大小,包含单位
  9.             var fontSize = sheet.getCell(sheet.getActiveRowIndex(), sheet.getActiveColumnIndex()).fontSize();
  10.             console.log('fontSize: ', fontSize);
  11.             //  正则表达式匹配出字符串中的数字,即字体大小
  12.             var sizeNum = fontSize.match(/\d+/)[0];
  13.             //  在当前字体大小基础上增加一个单位
  14.             return (Number(sizeNum) + 1) + 'pt';
  15.         }()
  16.   });
复制代码


回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-28 08:33:35
2#
您好!SpreadJS Designer工具栏中加粗字体的按钮绑定的命令是Designer.setFontSize。根据您的需求,需要自定义一个按钮,对自定义按钮也绑定Designer.setFontSize命令触发即可。
回复 使用道具 举报
helloworldplus
注册会员   /  发表于:2024-10-28 09:32:05
3#
您好,我貌似没有找到这个方法或属性,然后文档中的命令有个 IncreaseFontsize var command = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.IncreaseFontsize); 但是我使用后不生效,有具体的使用案例吗
image.png53082884.png
回复 使用道具 举报
helloworldplus
注册会员   /  发表于:2024-10-28 15:05:52
5#
本帖最后由 helloworldplus 于 2024-10-28 16:05 编辑

好的,谢谢,请问一下execute的配置项参数完整的在哪里啊,我在文档中没有找打;以及请问一下Designer里面的命令如何使用啊;还有Designer.setFontSize这个命令是从哪里来的啊,在文档中也没有找到
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-28 17:30:51
6#
helloworldplus 发表于 2024-10-28 15:05
好的,谢谢,请问一下execute的配置项参数完整的在哪里啊,我在文档中没有找打;以及请问一下Designer里面 ...

问题1:可以通过官网API文档中的Commands命名空间了解其中包含的命令的调用参数。

问题2:如果您知道想要调用的命令,在Designer中可以通过如下代码执行以调用部分命令:
  1. var command = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.FindDialogFind);
  2. command.execute(designer);
复制代码
可以通过官网API文档中的CommandNames命名空间了解详情:
https://demo.grapecity.com.cn/spreadjs/help/api/designer/classes/GC.Spread.Sheets.Designer.CommandNames#class-commandnames

或者,在Designer和SpreadJS控件中都可以通过如下代码调用部分命令:
  1. spread.commandManager().execute({cmd: "clearValues", sheetName: "Sheet1", ranges: [new GC.Spread.Sheets.Range(8, 5, 2, 1)]});
复制代码

问题3:SpreadJS的CommandManager可以监听UI触发的大部分动作,如下动图所示即点击工具栏中增大字体按钮时监听所得的信息,其中包括命令名称,即Designer.setFontSize。可以参考如下代码运行观察:
  1. spread.commandManager().addListener('-', function(args) {
  2.     console.log('args: ', args);
  3. });
复制代码


回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-29 16:38:15
7#
您好!从跟帖回复中了解到问题已得到有效解答,那就结贴了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部