找回密码
 立即注册

QQ登录

只需一步,快速开始

jyjc 讲师达人认证
高级会员   /  发表于:2022-4-25 14:11  /   查看:2111  /  回复:3
本帖最后由 jyjc 于 2022-4-25 14:13 编辑

在使用autoFitColumn做列宽自适应时,希望能够跳过第一行,从第二行开始执行列宽自适应


image.png349436339.png

3 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-25 15:12:34
沙发
您好,
列宽自适应是对整列生效的,没有接口可以设置跳过某行。
针对您的需求,您可以在执行autoFitColumn方法前,先将第一行的值存储在行一单元格的tag中,然后执行autoFitColumn,再获取tag中存储的值重新setValue。
示例代码:
  1. sheet.suspendPaint();
  2. var value = sheet.getValue(0,0);
  3. sheet.setTag(0,0,value);
  4. sheet.getCell(0,0).clear(GC.Spread.Sheets.StorageType.data)
  5. sheet.autoFitColumn(0);
  6. sheet.setValue(0,0,sheet.getTag(0,0));
  7. sheet.resumePaint()
复制代码

image.png681651916.png
回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2022-4-25 15:58:39
板凳
不好意思,可能我上面那样问存在问题啊

实际上是这样的:
我将A列或者任何一列做了放大或者缩小操作
image.png553762816.png
然后去做了自适应列宽的操作,会发现就算我的整个表单是空的,他也会回到某个基准宽度
image.png267167968.png
image.png507598266.png
但是excel上,对于这种情况是没有变化的
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-25 18:17:41
地板
这边注意到关于此问题您另开了新帖,那后续交流在另一个贴中进行,本贴先做结帖处理。
https://gcdn.grapecity.com.cn/fo ... read&tid=145795
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部