请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

sxyweiren

中级会员

73

主题

366

帖子

755

积分

中级会员

积分
755

活字格认证微信认证勋章

sxyweiren
中级会员   /  发表于:2021-6-7 10:18  /   查看:2740  /  回复:8
100金币
现有一项目,需要动态的根据业务权限设定MultiRow的列进行隐藏。

首先设定固定模板,所有的列都是表示状态。
逻辑里面根据业务需求,进行列的隐藏。

逻辑是通过ColumnHeaders的Visible和HorizontalResize来控制。
※如果列幅设定成0,但是Visible是True的话,会有个细线表示。

现在的问题是,设置隐藏后,后面的单元格没有跟上来,仍然存在一定的空白。
比如我连续隐藏5列,在隐藏列的位置会有一块空白。
请问这个问题如何进行回避???


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

8 个回复

倒序浏览
sxyweiren
中级会员   /  发表于:2021-6-7 10:19:38
沙发


这个是不设定Visible的效果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-7 17:45:57
板凳
你好,在设置某个cell的visible时,把后面的cell的location也跟着设置一下,手动往前面调一下
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2021-6-7 18:43:16
地板
Richard.Ma 发表于 2021-6-7 17:45
你好,在设置某个cell的visible时,把后面的cell的location也跟着设置一下,手动往前面调一下

需要重新设定Template对象么??

还是直接通过GcmultiRow1.Template.ColumnHeaders[0].Cells来设定??
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-8 16:10:09
5#
先GcmultiRow1.Template.ColumnHeaders[0].Cells来设定,

GcmultiRow1.Template.ColumnHeaders[0].Cells[0] = ...

GcmultiRow1.Template = GcmultiRow1.Template;

两步操作
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2021-6-8 16:13:05
6#
Richard.Ma 发表于 2021-6-8 16:10
先GcmultiRow1.Template.ColumnHeaders[0].Cells来设定,

GcmultiRow1.Template.ColumnHeaders[0].Cells ...

这样的话就不能通过HorizontalResize来设定列宽了。
只能重新设定所有单元格的位置,然后重新设定Template了么??
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-8 18:49:40
7#
this.gcMultiRow1.Columns[1].Collapse();
隐藏第一列
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2021-6-8 19:24:15
8#
Richard.Ma 发表于 2021-6-8 18:49
this.gcMultiRow1.Columns[1].Collapse();
隐藏第一列

完美解决问题。
非常感谢。

有一点,如果AllowUserToAddRows是False的话,需要先设成True,保证存在行才行。
要不然直接例外了。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-9 12:16:18
9#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部