永洪社区

标题: 自由表样式 [打印本页]

作者: yhdata_g48qVNHQ    时间: 2023-3-28 17:42
标题: 自由表样式
求问各位大神,我现在有一个自由表,表中包含显示列和隐藏列,我现在有一个需求是需要根据所有列的宽度是表格宽度自适应,例:
画布宽度2000,默认初始表1200,根据过滤条件表中显示的数据量会变大,这时表格宽度为1700并且超出的部分通过滚动条显示。

总的来说就是需要所有显示列的宽度固定(200),默认的时候是六列,所以表格宽度是1200。
根据过滤条件可能会有24列,这时表格宽度为1700,超出部分通过滚动条展示。

作者: yhdata_ruby    时间: 2023-3-28 17:42
yhdata_g48qVNHQ 发表于 2023-3-29 16:09
好的 谢谢。

不客气
作者: yhdata_ruby    时间: 2023-3-28 17:58
脚本设置列宽,参考https://club.yonghongtech.com/thread-9650-1-1.html
作者: yhdata_g48qVNHQ    时间: 2023-3-29 09:24
yhdata_ruby 发表于 2023-3-28 17:58
脚本设置列宽,参考https://club.yonghongtech.com/thread-9650-1-1.html

Hi,您好 这边我们尝试过了这个方法,但是当显示列为六列时,由于1200的表宽小于实际表宽1700所以表格内部单元格还是会拉伸变形,直到填满1700。但是这边我想要的是六列时保持1200的表宽,24列时增加到1700的表宽。
作者: yhdata_ruby    时间: 2023-3-29 09:41
yhdata_g48qVNHQ 发表于 2023-3-29 09:24
Hi,您好 这边我们尝试过了这个方法,但是当显示列为六列时,由于1200的表宽小于实际表宽1700所以表格内 ...

报表布局是智能布局吗,改成自由布局
作者: yhdata_g48qVNHQ    时间: 2023-3-29 09:44
yhdata_ruby 发表于 2023-3-29 09:41
报表布局是智能布局吗,改成自由布局

现在就是自由布局
作者: yhdata_ruby    时间: 2023-3-29 09:45
yhdata_g48qVNHQ 发表于 2023-3-29 09:44
现在就是自由布局

脚本怎么写的看一下
作者: yhdata_g48qVNHQ    时间: 2023-3-29 09:47
yhdata_ruby 发表于 2023-3-29 09:45
脚本怎么写的看一下

var loc1 = new Locator(['c-0'],COL,DETAIL);
var loc2 = new Locator(['c-1'],COL,DETAIL);
var loc3 = new Locator(['c-2'],COL,DETAIL);
var loc4 = new Locator(['c-3'],COL,DETAIL);
var loc5 = new Locator(['c-4'],COL,DETAIL);
var loc6 = new Locator(['c-10'],COL,DETAIL);
// 第一列 i 取 0,第 二列为 1,依次类推
财年金额表.setColWidth(loc1,400);
财年数量表.setColWidth(loc1,400);
财季金额表.setColWidth(loc1,400);
财季数量表.setColWidth(loc1,400);
自然月金额表.setColWidth(loc1,400);
自然月数量表.setColWidth(loc1,400);

财年金额表.setColWidth(loc2,300);
财年数量表.setColWidth(loc2,300);
财季金额表.setColWidth(loc2,300);
财季数量表.setColWidth(loc2,300);
自然月金额表.setColWidth(loc2,300);
自然月数量表.setColWidth(loc2,300);

财年金额表.setColWidth(loc3,250);
财年数量表.setColWidth(loc3,250);
财季金额表.setColWidth(loc3,250);
财季数量表.setColWidth(loc3,250);
自然月金额表.setColWidth(loc3,250);
自然月数量表.setColWidth(loc3,250);
财年金额表.setColWidth(loc4,250);
财年数量表.setColWidth(loc4,250);
财季金额表.setColWidth(loc4,250);
财季数量表.setColWidth(loc4,250);
自然月金额表.setColWidth(loc4,250);
自然月数量表.setColWidth(loc4,250);
财年金额表.setColWidth(loc5,250);
财年数量表.setColWidth(loc5,250);
财季金额表.setColWidth(loc5,250);
财季数量表.setColWidth(loc5,250);
自然月金额表.setColWidth(loc5,250);
自然月数量表.setColWidth(loc5,250);
财年金额表.setColWidth(loc6,250);
财年数量表.setColWidth(loc6,250);
财季金额表.setColWidth(loc6,250);
财季数量表.setColWidth(loc6,250);
自然月金额表.setColWidth(loc6,250);
自然月数量表.setColWidth(loc6,250);
作者: yhdata_g48qVNHQ    时间: 2023-3-29 09:49
yhdata_g48qVNHQ 发表于 2023-3-29 09:47
var loc1 = new Locator(['c-0'],COL,DETAIL);
var loc2 = new Locator(['c-1'],COL,DETAIL);
var loc3 = ...

因为表格中存在不需要显示的隐藏列所以这边我们用的是设置单列宽度的方法
作者: yhdata_ruby    时间: 2023-3-29 10:15
yhdata_g48qVNHQ 发表于 2023-3-29 09:49
因为表格中存在不需要显示的隐藏列所以这边我们用的是设置单列宽度的方法 ...

自由表现在显示有滚动条吧,不要设置宽自适应,我这边测试没什么问题,你是使用的什么版本呀,报告方便导出看一下吗
作者: yhdata_g48qVNHQ    时间: 2023-3-29 10:19
yhdata_ruby 发表于 2023-3-29 10:15
自由表现在显示有滚动条吧,我这边测试没什么问题,你是使用的什么版本呀,报告方便导出看一下吗 ...

滚动条没有问题,现在我的问题是当显示列数小于六列时表格宽度应该是1200而不是1700。
现在的实际情况就是不论是多少列表宽都是1700并且表内列宽会拉伸至300(试整张表达到1700),但是这样就和我脚本说写的250冲突了。

作者: yhdata_ruby    时间: 2023-3-29 10:26
yhdata_g48qVNHQ 发表于 2023-3-29 10:19
滚动条没有问题,现在我的问题是当显示列数小于六列时表格宽度应该是1200而不是1700。
现在的实际情况就 ...

没办法,你的普通表整个宽度都是1700,单元格全部宽度小于表宽度肯定就会适应了,只有把自由表的宽度减小,小于单元格总的宽度
作者: yhdata_g48qVNHQ    时间: 2023-3-29 11:14
yhdata_ruby 发表于 2023-3-29 10:26
没办法,你的普通表整个宽度都是1700,单元格全部宽度小于表宽度肯定就会适应了,只有把自由表的宽度减小 ...

那这边有什么其他类似的方法么?比如在脚本中实时调整表格宽度,或者说是除了自由表的其他表可以实现。
作者: yhdata_ruby    时间: 2023-3-29 13:33
yhdata_g48qVNHQ 发表于 2023-3-29 11:14
那这边有什么其他类似的方法么?比如在脚本中实时调整表格宽度,或者说是除了自由表的其他表可以实现。 ...

普通表也会这样的,没法实现
作者: yhdata_g48qVNHQ    时间: 2023-3-29 15:57
yhdata_ruby 发表于 2023-3-29 13:33
普通表也会这样的,没法实现

那通过脚本直接调整整个表格的宽度呢?
作者: yhdata_ruby    时间: 2023-3-29 16:01
yhdata_g48qVNHQ 发表于 2023-3-29 15:57
那通过脚本直接调整整个表格的宽度呢?

图表1.width=100这样写
作者: yhdata_g48qVNHQ    时间: 2023-3-29 16:09
yhdata_ruby 发表于 2023-3-29 16:01
图表1.width=100这样写

好的 谢谢。




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4