找回密码
 立即注册

QQ登录

只需一步,快速开始

人本人云
注册会员   /  发表于:2022-8-26 17:31  /   查看:4172  /  回复:15
1金币
1661506276570.jpg66648253.png
image.png585848388.png

最佳答案

查看完整内容

参考下面修改后的demo即可 关键代码,handelPrint是打印按钮要执行的代码[/backcolor]

15 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-26 17:31:59
来自 14#
参考下面修改后的demo即可

隐藏下拉框.zip (66.07 KB, 下载次数: 480)
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-26 18:21:52
2#
可以选择图片类型为自定义即可,同时调整一下下拉按钮宽度就行
image.png975679016.png
回复 使用道具 举报
人本人云
注册会员   /  发表于:2022-8-29 08:38:59
3#
Richard.Ma 发表于 2022-8-26 18:21
可以选择图片类型为自定义即可,同时调整一下下拉按钮宽度就行

你好,请问在咱们的SpreadJS中怎么弹出这个“设置单元格格式”的框框呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-29 10:01:52
4#
本帖最后由 Richard.Ma 于 2022-8-29 10:49 编辑

这个对话框是在线表格编辑器中的,如果不使用在线表格编辑器的话,可以通过js 代码设置
设置cellButtons 中的imageType以及width即可

  1. var style=new GC.Spread.Sheets.Style();

  2. style.cellButtons = [
  3.         {
  4.             imageType: GC.Spread.Sheets.ButtonImageType.custom,
  5.             command: "openList",
  6.             useButtonStyle: true,
  7.             width:21
  8.         }
  9.     ];

  10. style.dropDowns = [
  11.         {
  12.             type: GC.Spread.Sheets.DropDownType.list,
  13.             option: {
  14.                 items: [
  15.                     {
  16.                         text: 'item1',
  17.                         value: 'item1'
  18.                     },
  19.                     {
  20.                         text: 'item2',
  21.                         value: 'item2'
  22.                     },
  23.                     {
  24.                         text: 'item3',
  25.                         value: 'item3'
  26.                     },
  27.                     {
  28.                         text: 'item4',
  29.                         value: 'item4'
  30.                     }
  31.                 ],
  32.             }
  33.         }
  34.     ];

  35. sheet.setStyle(1,1,style)
复制代码

回复 使用道具 举报
人本人云
注册会员   /  发表于:2022-8-29 10:48:45
5#
Richard.Ma 发表于 2022-8-29 10:01
这个对话框是在线表格编辑器中的,如果不使用在线表格编辑器的话,可以通过js 代码设置
设置cellButtons  ...

已上传demo,麻烦大佬给看下,框架Vue,node.js版本是14.12.1,npm版本6.14.8,谢谢

隐藏下拉框箭头.zip

35.09 KB, 下载次数: 434

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-29 11:11:17
6#
本帖最后由 Richard.Ma 于 2022-8-29 11:14 编辑

我看到你设置的是CellTypes.ComboBox,这个和上面讨论的下拉按钮是两种实现下拉框的方式

你截图中包括我下面发给你的代码,是通过style.cellButtons来实现的。

我把你的代码修改了一下,实际上还是我楼上发给你的代码,不要设置cellType,直接设置包含cellButtons和dropDowns设置的verticalStyle

image.png531435851.png


  1.       let verticalStyle = new GC.Spread.Sheets.Style();
  2.       verticalStyle.cellButtons = [
  3.         {
  4.           imageType: GC.Spread.Sheets.ButtonImageType.custom,
  5.           command: "openList",
  6.           useButtonStyle: true,
  7.           width: 22,
  8.         },
  9.       ];
  10.       verticalStyle.dropDowns = [
  11.         {
  12.           type: GC.Spread.Sheets.DropDownType.list,
  13.           option: {
  14.             items: [
  15.               {
  16.                 text: "2.74",
  17.                 value: 2.74,
  18.               },
  19.               {
  20.                 text: "2.75",
  21.                 value: 2.75,
  22.               },
  23.               {
  24.                 text: "2.76",
  25.                 value: 2.76,
  26.               },
  27.               {
  28.                 text: "2.77",
  29.                 value: 2.77,
  30.               },
  31.               {
  32.                 text: "2.78",
  33.                 value: 2.78,
  34.               },
  35.               {
  36.                 text: "2.79",
  37.                 value: 2.79,
  38.               },
  39.               {
  40.                 text: "2.80",
  41.                 value: 2.8,
  42.               },
  43.             ],
  44.           },
  45.         },
  46.       ];
  47.       var items2 = ["2.74", "2.75", "2.76", "2.77", "2.78", "2.79", "2.80"];
  48.       // var eComboBoxCellType = new GC.Spread.Sheets.CellTypes.ComboBox().items(items2).editable(true);
  49.       // activeSheet.getCell(2, 3).cellType(eComboBoxCellType);
  50.       /* activeSheet.setColumnWidth(0, 120);
  51.             activeSheet.setColumnWidth(2, 120); */

  52.       //不要设置上面的cellType,直接设置包含
  53.       activeSheet.getCell(2, 3).setStyle(verticalStyle);
复制代码


修改后的app.vue文件 app.vue (3.2 KB, 下载次数: 339)
回复 使用道具 举报
人本人云
注册会员   /  发表于:2022-8-29 11:34:13
7#
Richard.Ma 发表于 2022-8-29 11:11
我看到你设置的是CellTypes.ComboBox,这个和上面讨论的下拉按钮是两种实现下拉框的方式

你截图中包括我 ...

麻烦问一下,如果下拉框设置成这样,打印出来的时候,会不会把数字背后的方框也打印出来?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-29 12:23:41
8#
你是说数字右侧的cellButtons吗,会打印出来,这个打印出来和目前界面上显示的是一致的,

image.png281639708.png

如果你想要打印时不打印这个按钮的话,目前只能是在打印前先重现设置style来去掉按钮,打印完成后再设置回来
回复 使用道具 举报
人本人云
注册会员   /  发表于:2022-8-29 13:39:06
9#
Richard.Ma 发表于 2022-8-29 12:23
你是说数字右侧的cellButtons吗,会打印出来,这个打印出来和目前界面上显示的是一致的,

是的,打印的时候不能打印这个按钮,且,项目交付之后,甲方不懂怎么来回设置,有没有其他方法能解决一下。感谢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部