找回密码
 立即注册

QQ登录

只需一步,快速开始

王豆豆

注册会员

9

主题

29

帖子

74

积分

注册会员

积分
74
王豆豆
注册会员   /  发表于:2021-7-23 14:48  /   查看:2441  /  回复:8
本帖最后由 Derrick.Jiao 于 2021-7-23 16:26 编辑

在该版本中,使用setRowCount和setColumnCount方法设置表行列数,横向滚动条和竖向滚动条如保自动显示隐藏,设置了很少的列数和行数,滚动条还在。
要自适应的方法,因为行列数是变动的,不知道什么时候充满全屏

image.png651076964.png

8 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-23 16:29:44
沙发
您好,请问您的具体需求是什么呢?您是需要将横纵滚动条与行列对齐吗?
我们有这两个滚动条设置
image.png95893858.png

var spread = GC.Spread.Sheets.findControl(document.getElementById('ss'));
    spread.options.scrollbarMaxAlign = true;
    spread.options.scrollbarShowMax = true;

另外,这是我们学习指南的地址,您可以参考
https://demo.grapecity.com.cn/sp ... ars/overview/purejs
回复 使用道具 举报
王豆豆
注册会员   /  发表于:2021-7-23 17:09:38
板凳
        this.spread.options.scrollbarMaxAlign = true
        this.spread.options.scrollbarShowMax = true
加了这两个滚动条直接没啦,即使行有很多,也没有纵向滚动条啦,用鼠标倒是可以滚动。如果需要横向滚动条肯定就没有办法操作
回复 使用道具 举报
王豆豆
注册会员   /  发表于:2021-7-23 17:11:57
地板
我希望,取个例:有10行时没有滚动条,但当有100行时自动有滚动条,由100行变回5行时滚动条自动消失
红框处应该有滚动条
image.png735792541.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-23 17:48:19
5#
王豆豆 发表于 2021-7-23 17:11
我希望,取个例:有10行时没有滚动条,但当有100行时自动有滚动条,由100行变回5行时滚动条自动消失
红框 ...

这边给您提供一个思路:
您可以通过这两个接口获取表单的总行列数
var rowCount = sheet.getRowCount()
var colCount =  sheet.getColumnCount()
通过这两个接口获取目前视图的行列数
var brow = sheet.getViewportBottomRow(1);
var rcol = sheet.getViewportRightColumn(1);

当rowCount和brow相等时
spread.options.showVerticalScrollbar = false;
当rowCount大于brow时
spread.options.showVerticalScrollbar = false;

同理当colCount和rcol相等时
spread.options.showHorizontalScrollbar = false;
当colCount大于rcol时
spread.options.showHorizontalScrollbar = true;

回复 使用道具 举报
王豆豆
注册会员   /  发表于:2021-7-26 11:03:09
6#
无论是:
this.spread.options.showVerticalScrollbar = true
this.spread.options.showHorizontalScrollbar = true
还是
this.spread.options.showVerticalScrollbar = false
this.spread.options.showHorizontalScrollbar = false
只要加了这两行,就不会出现滚动条,即使应该有滚动条
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-26 11:43:21
7#
王豆豆 发表于 2021-7-26 11:03
无论是:
this.spread.options.showVerticalScrollbar = true
this.spread.options.showHorizontalScroll ...

我这边在13.2中测试,无论是滚动条显示还是隐藏,通过上面对应的代码都可以进行调整。建议您提供能复现问题的demo,这边调研一下。
image.png673343505.png
回复 使用道具 举报
王豆豆
注册会员   /  发表于:2021-7-26 14:58:02
8#
使用上面的方法还有个问题,最后一列只显示一半时,底部应该有滚动条,没出现。如下图:
image.png771292114.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-26 15:32:29
9#
王豆豆 发表于 2021-7-26 14:58
使用上面的方法还有个问题,最后一列只显示一半时,底部应该有滚动条,没出现。如下图:

这个接口getViewportRightColumn返回的是一个索引,即使该列没有完全露出,也会把这一列的索引算进去。目前只能通过这样判断了,即使露出一半,滚动条也是为fasle。
上面的思路应该修改为
var rowCount = sheet.getRowCount()
var colCount =  sheet.getColumnCount()
通过这两个接口获取目前视图的行列索引
var brow = sheet.getViewportBottomRow(1);
var rcol = sheet.getViewportRightColumn(1);

当rowCount和brow+1相等时
spread.options.showVerticalScrollbar = false;
当rowCount大于brow+1时
spread.options.showVerticalScrollbar = true;

同理当colCount和rcol+1相等时
spread.options.showHorizontalScrollbar = false;
当colCount大于rcol+1时
spread.options.showHorizontalScrollbar = true;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部