找回密码
 立即注册

QQ登录

只需一步,快速开始

linxiang19

初级会员

25

主题

65

帖子

242

积分

初级会员

积分
242
linxiang19
初级会员   /  发表于:2020-9-14 16:49  /   查看:2758  /  回复:8
您好,我版本是12的,现在遇到的问题是我自定义了个控件,根据编码值取得名称
例如:M01 对应  测试文本/测试文本/测试文本
我们在自定义控件那边的PAINT 方法根据M01 取得文本。此时文本很长,我们在PAINT 把文本画上去。
这时候因为长度超长,无法显示完全,想说设置自动高度,所以后台设置了 wrap= TRUE,并且 AutoFitRow。。可是不生效,我看了,估计是因为这个单元格的TEXT 跟VALUE都是M01 长度没超过单元格,所以自定高度无法撑开。
后来想说自己重写自定义控件 setAutoFitHeight的方法,发现只有自己手动设置AutoFitRow 才会调用到这方法,那我们自定义控件里面有很多选项。长度大小不一。等于还得去弄事件来接受选择完后的事件,去触发,我自己也试了 好容易死循环,触发AutoFitRow  又会paint ..
所以想说又什么好点的解决方案

8 个回复

倒序浏览
linxiang19
初级会员   /  发表于:2020-9-14 18:34:52
沙发
DerrickJiao 发表于 2020-9-14 18:28
这边给您提供一下思路您进行尝试

您在自定义单元格里面设置this.height属性,然后在paint里面添加一个判 ...

您好,我这边自己也有这方法,可是测试了下。我们自定义控件执行的顺序是先gteAutoHeight ,然后再PAINT ,然后如果我再调用PAINT 控件就不执行gteAutoHeight  ,所以一开始设置高度这样没问题,可是选择后 PAINT 也不重新调用getAutoHeight ,这样还是解决不了。我自己也尝试手动出发这东西。会照成死循环,
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-14 18:47:20
板凳
linxiang19 发表于 2020-9-14 18:34
您好,我这边自己也有这方法,可是测试了下。我们自定义控件执行的顺序是先gteAutoHeight ,然后再PAINT  ...

麻烦您提供一个可复现问题的demo,我们看下是否有其他解决方案。
回复 使用道具 举报
linxiang19
初级会员   /  发表于:2020-9-21 09:58:31
地板
DerrickJiao 发表于 2020-9-14 18:47
麻烦您提供一个可复现问题的demo,我们看下是否有其他解决方案。

不好意思。上周出差了。这周刚看到消息。我刚拿官方的例子稍微修改下。JS 里面有我调整的位置及其注释,
我实现的效果就类是这样。下拉的数据源中根据你选中的项,进行高度自适应,因为COMBOX 有分KEY 跟TEXT ,KEY通常是短的一段编码,无法自动高度对应的长文本。 features_cells_cell-types_combobox_JavaScript.zip (10.18 KB, 下载次数: 31)
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-21 14:52:22
7#
linxiang19 发表于 2020-9-21 09:58
不好意思。上周出差了。这周刚看到消息。我刚拿官方的例子稍微修改下。JS 里面有我调整的位置及其注释,
...

看了您提供的代码是用了 SpreadJS 中的Combox。

现在控件无法对单元格类型为combox 的单元格设置换行及自适应行高。

想知道您现在遇见的问题是自定义的单元格无法设置换行 ,还是Combox无法换行的问题呢?
回复 使用道具 举报
linxiang19
初级会员   /  发表于:2020-9-21 15:58:30
8#
DerrickJiao 发表于 2020-9-21 14:52
看了您提供的代码是用了 SpreadJS 中的Combox。

现在控件无法对单元格类型为combox 的单元格设置换行 ...

我自定义的单元格,用的BASE ,根据控件返回的VALUE 去查询对应的TEXT 去paint ,因为我们绑定的是编码,gettext和getValue取得的都是编码,不是实际的文本 微信截图_20200921155522.png
微信截图_20200921155522.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-21 18:00:04
9#
linxiang19 发表于 2020-9-21 15:58
我自定义的单元格,用的BASE ,根据控件返回的VALUE 去查询对应的TEXT 去paint ,因为我们绑定的是编码,g ...

您可以参考一下这个demo,自定义单元格的自适应行高
image.png826248473.png

如果没有解决您的问题,麻烦您在此demo上复现一下您的问题,这样能提高解决问题的效率

自定义单元格_自适应行高.html

7.14 KB, 下载次数: 36

回复 使用道具 举报
linxiang19
初级会员   /  发表于:2020-9-22 09:37:25
10#
DerrickJiao 发表于 2020-9-21 18:00
您可以参考一下这个demo,自定义单元格的自适应行高

你好。你给的这个例子还是不行。你设置value ="长长长长。。。。。"这种就跟我们实际情况不一致,因为 我们绑定了 某个字段 。那字段存的是KEY 比如  chang ,在自定义PAINT 时,根据CHANG 找到 对应的 长长长长。。。。。。这形式。不是直接赋值的 ,直接 赋值长长长  我 这边都可以 解决。现在问题是 KEY 是 chang ,这才是导致无法自动高度的原因
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-22 10:16:09
11#
linxiang19 发表于 2020-9-22 09:37
你好。你给的这个例子还是不行。你设置value ="长长长长。。。。。"这种就跟我们实际情况不一致,因为 我 ...

您好,这边还是不太理解您的问题,如果您方便的话,麻烦您留下电话我们进行电话沟通
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部