找回密码
 立即注册

QQ登录

只需一步,快速开始

nobt

论坛元老

86

主题

4199

帖子

4951

积分

论坛元老

积分
4951

微信认证勋章

nobt
论坛元老   /  发表于:2023-7-13 11:32  /   查看:938  /  回复:4
本帖最后由 Joestar.Xu 于 2023-7-13 18:07 编辑

1. 初始化单元格没有自动换行属性,输入超过列宽文本,点击自动换行,会行高自适应,满足预期

2. 初始化单元格没有自动换行属性,点击自动换行,输入超过列宽文本,不会行高自适应,预期是需要行高自适应

总结:必须要先输入超过列宽的文本,再点击自动换行,才会行高自适应,如果先设置了行高自适应再输入超过列宽的文本,行高不会自适应

这种是bug,还是怎么处理比较合适
我想到的是增加编辑结束事件,判断当前单元格是否有行高自适应属性,然后autoFitRow?
[size=13.0667px]还有没有其他方案,如果没有能否提供下这种编辑结束事件监听判断的示例demo

4 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-13 17:50:48
沙发
您好,问题已重现,这边调研一下,后续有进展我会在本贴中回复您。

本帖先做保留处理了。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-14 09:35:20
板凳
您好,这边调研了一下,这一块是和Excel不一致的地方,属于一个设计,这是因为大量使用autoFit会影响性能,因此在SpreadJS,能不做autoFit就不做autoFit。

因此对于您的需求,通过EditEnded事件可以实现您的需求,以下是参考代码:

  sheet.bind(GC.Spread.Sheets.Events.EditEnded, function (sender, args) {
    let style = sheet.getActualStyle(args.row, args.col);
    if (style.wordWrap) {
      sheet.autoFitRow(args.row);
    }
  });
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
nobt
论坛元老   /  发表于:2023-7-14 10:20:31
地板
Joestar.Xu 发表于 2023-7-14 09:35
您好,这边调研了一下,这一块是和Excel不一致的地方,属于一个设计,这是因为大量使用autoFit会影响性能, ...

好的,谢谢,结贴
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-14 10:38:13
5#
nobt 发表于 2023-7-14 10:20
好的,谢谢,结贴

好的,后续有其他问题随时开贴提问哈、
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部