找回密码
 立即注册

QQ登录

只需一步,快速开始

gnip

初级会员

37

主题

76

帖子

253

积分

初级会员

积分
253
gnip
初级会员   /  发表于:2024-6-26 15:19  /   查看:114  /  回复:14
100金币
用自定义ui方式替换原有的属性面板,然后通过api设置模版属性和获取模版属性,但是有一个问题,getTemplateCell方法获取到的属性不全

image.png616332702.png 比如这个单元格,只返回了这两属性,还是我通过setTemplateCell设置的,不设置压根没有,这就存在一个问题,每次要是要更新模版单元格,岂不是要把所有属性都全部设置一遍嘛?不然我回显的时候,通过getemplateCell方法拿到的属性配置根本不全,想问一下这个怎么处理好点,全部设置会有性能问题,比如用户选择一个区域,全量去设置会卡顿页面一段时间。

14 个回复

倒序浏览
eat_grape_5
注册会员   /  发表于:3 天前
沙发
楼主展示的属性是autoExpand,这个属性的默认值是Both,即横向和纵向双向扩展。在默认的设置面板中,这个属性的默认值会正常渲染显示,如下图:
1719395543238.png10030211.png
由于楼主自定义了设置面板,因此在显示属性时需要跟原有设置面板的属性显示一致,解决了这个问题就都ok了。
关于autoExpand属性,请参考官方demo链接:https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/report-sheet/layout-settings/auto-expand/purejs。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:3 天前
板凳
您好,参考楼上热心小伙的回复即可。有问题随时交流。
回复 使用道具 举报
gnip
初级会员   /  发表于:3 天前
地板
eat_grape_5 发表于 2024-6-26 17:54
楼主展示的属性是autoExpand,这个属性的默认值是Both,即横向和纵向双向扩展。在默认的设置面板中,这个属 ...

大哥,你没看懂我的需求,不是你理解的这样
回复 使用道具 举报
gnip
初级会员   /  发表于:3 天前
5#
gnip 发表于 2024-6-26 18:21
大哥,你没看懂我的需求,不是你理解的这样

楼上大哥都理解错我的意思,我的意思是通过getTemplateCell获取的属性不全,api调用的方式我需要所有的属性配置项,不然回显有问题
回复 使用道具 举报
eat_grape_5
注册会员   /  发表于:3 天前
6#
gnip 发表于 2024-6-26 18:21
大哥,你没看懂我的需求,不是你理解的这样

那请楼主指正下理解不到位的地方,谢谢!
回复 使用道具 举报
eat_grape_5
注册会员   /  发表于:3 天前
7#
gnip 发表于 2024-6-26 18:24
楼上大哥都理解错我的意思,我的意思是通过getTemplateCell获取的属性不全,api调用的方式我需要所有的属 ...

getTemplateCell接口的返回值中不包含那些未设置的属性,因为这些属性未被设置过,没有值与其匹配。
回复 使用道具 举报
gnip
初级会员   /  发表于:3 天前
8#
image.png640049438.png
回复 使用道具 举报
eat_grape_5
注册会员   /  发表于:3 天前
9#

前后两次设置,虽然作用于同一个单元格,但setTemplateCell的第三个参数有变化。从面向对象的编程角度而言,这两个参数本质上是两个完全不同的对象,当然是后一个对象把前一个对象覆盖了。一般而言,设置之前要获取原来的属性对象,在这个属性对象中追加新的属性,再用变化后的属性对象调用setTemplateCell方法将属性设置回单元格。以楼主提供的图片中的代码为例,第二次设置的代码应该是:
  1. templateSheet.setTemplateCell(i, j, {
  2.     type: 'List',
  3.     binding: 'Bid[age]',
  4.     spillMode: 'Overwrite'
  5. });
复制代码
回复 使用道具 举报
gnip
初级会员   /  发表于:3 天前
10#
所以我问的是有没有方法获取当前单元格所有配置属性的值
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部