找回密码
 立即注册

QQ登录

只需一步,快速开始

dl0537

注册会员

5

主题

27

帖子

130

积分

注册会员

积分
130

微信认证勋章

dl0537
注册会员   /  发表于:2021-8-5 19:57  /   查看:3318  /  回复:13
10金币
目前遇到的问题是,首先combox的默认固定显示条数先设定为15,在点击combox进行展开时,要根据浏览器的高度来动态设定combox的默认显示件数。
比如当浏览器的高度小于等于500px时,在点开combox时,最大显示条数为5。
当浏览器的高度大于500px时,在点开combox时,最大显示条数为默认的15.

首先不知道该在combox的什么事件中,对高度进行判断,再就是在事件中是否可以对combox的[size=14.6667px]maxDropDownItems进行修改。
[size=14.6667px]希望有这方面经验的朋友给予指点,非常感谢~
  1.     <script type="text/javascript">
  2.         $(document).ready(function () {
  3.             var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), { sheetCount: 1 });
  4.             var sheet = spread.getActiveSheet();
  5.                        
  6.                         var combo = new GC.Spread.Sheets.CellTypes.ComboBox();
  7.                         sheet.setCellType(3, 2, combo, GC.Spread.Sheets.SheetArea.viewport);
  8.                         combo.maxDropDownItems(15);
  9.                        
  10.                         combo.items([
  11.                          { text: '1', value: '1k' },
  12.                          { text: '2', value: '2k' },
  13.                          { text: '3', value: '3k' },
  14.                          { text: '4', value: '4k' },
  15.                          { text: '5', value: '5k' },
  16.                          { text: '6', value: '6k' },
  17.                          { text: '7', value: '7k' },
  18.                          { text: '8', value: '8k' },
  19.                          { text: '9', value: '9k' },
  20.                          { text: '10', value: '10k' },
  21.                          { text: '11', value: '11k' },
  22.                          { text: '12', value: '12k' },
  23.                          { text: '13', value: '13k' },
  24.                          { text: '14', value: '14k' },
  25.                          { text: '15', value: '15k' },
  26.                          { text: '16', value: '16k' },
  27.                          { text: '17', value: '17k' },
  28.                          { text: '18', value: '18k' },
  29.                          { text: '19', value: '19k' },
  30.                          { text: '20', value: '20k' }
  31.                          
  32.                          ]);
  33.         })
  34.     </script>
复制代码

最佳答案

查看完整内容

经调研,maxDropDownItems应该在createEditorElement中使用,请参考这个demo

13 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-5 19:57:50
来自 6#
经调研,maxDropDownItems应该在createEditorElement中使用,请参考这个demo

inandout (1).html

2.89 KB, 下载次数: 59

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-6 09:12:07
2#
您可以监听这个事件EditStarting,点击combox之后会触发这个事件,这是api
https://demo.grapecity.com.cn/sp ... #event:EditStarting
回复 使用道具 举报
dl0537
注册会员   /  发表于:2021-8-6 20:05:49
3#
Derrick.Jiao 发表于 2021-8-6 09:12
您可以监听这个事件EditStarting,点击combox之后会触发这个事件,这是api
https://demo.grapecity.com.cn ...

你的意思是在触发sheet的EditStarting之后,判断如果单元格类型是combox的话,判断当前浏览器高度,之后修改combox的maxDropDownItems,是这个解决思路?
回复 使用道具 举报
dl0537
注册会员   /  发表于:2021-8-7 19:10:16
4#
Derrick.Jiao 发表于 2021-8-6 09:12
您可以监听这个事件EditStarting,点击combox之后会触发这个事件,这是api
https://demo.grapecity.com.cn ...

因为目前关于combox点击时出发的事件,倾向于使用spreadNS.CellTypes.ComboBox.prototype.updateEditor来监听这个事件。
但是在其中设置maxDropDownItems并不好用,
代码在下记文件里

demo0807.zip

2.9 MB, 下载次数: 63

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-9 10:16:39
5#
dl0537 发表于 2021-8-7 19:10
因为目前关于combox点击时出发的事件,倾向于使用spreadNS.CellTypes.ComboBox.prototype.updateEditor来 ...

问题已收到,这边需要做进一步调研,此贴为您改为保留处理,有进展会在本帖更新(SJS-9569)
回复 使用道具 举报
dl0537
注册会员   /  发表于:2021-8-10 09:51:50
7#
确实是好用了,太帅了!!谢谢各位~
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-10 10:01:38
8#
dl0537 发表于 2021-8-10 09:51
确实是好用了,太帅了!!谢谢各位~

不用客气,有新问题欢迎开新帖交流~
回复 使用道具 举报
dl0537
注册会员   /  发表于:2021-8-10 16:42:59
9#
Derrick.Jiao 发表于 2021-8-10 10:01
不用客气,有新问题欢迎开新帖交流~

不好意思,这个课题能再开一下吗?
是这样的,你提供给我们的方案,在我们发布的版本(13.2.3)不好用…会报底层代码的error,只要定义这个方法就会报错
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-10 16:59:29
10#
dl0537 发表于 2021-8-10 16:42
不好意思,这个课题能再开一下吗?
是这样的,你提供给我们的方案,在我们发布的版本(13.2.3)不好用… ...

这边在13.2.3中未能复现您的问题,附件的demo是13.2.3的,您可以试一下,这个应该与版本没有关系。麻烦您在此demo中复现您的问题。

inandout (1).html

2.76 KB, 下载次数: 61

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部