找回密码
 立即注册

QQ登录

只需一步,快速开始

wutao@digiwin
金牌服务用户   /  发表于:2024-1-2 18:32  /   查看:1967  /  回复:24
咨询个问题,我想把这个横向的滚动条去掉,并且让内部的内容自适应展示
QQ图片20240102183202.png

23 个回复

倒序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-3 09:51:11
沙发
您好,去除水平滚动条可以用如下的API来实现:
spread.options.showHorizontalScrollbar = false;
您的第二个需求“让内部的内容自适应展示”指的是让所有列都集中在页面内还是对每一列的宽度根据文字自适应
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-1-3 10:27:50
板凳
Richard.Huang 发表于 2024-1-3 09:51
您好,去除水平滚动条可以用如下的API来实现:
spread.options.showHorizontalScrollbar = false;
您的第 ...

希望根据列的总宽度和可视区域的宽度决定是否显示滚动条
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-3 11:25:32
地板
本帖最后由 Richard.Huang 于 2024-1-3 11:27 编辑
wutao@digiwin 发表于 2024-1-3 10:27
希望根据列的总宽度和可视区域的宽度决定是否显示滚动条

对于您的这个需求,您可以参考这篇帖子来实现:https://gcdn.grapecity.com.cn/showtopic-155185-1-213.html

1704251969482.png648508910.png

同时考虑到用户的行宽、切换工作表等操作,您还需要监听ColumnWidthChanged、RowHeightChanged、ActiveSheetChanged等事件。
附件是按照上述帖子中的实现思路写的一个demo,您可以下载到本地进行测试

自适应滚动条隐藏和展示.html

5.38 KB, 下载次数: 58

回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-1-3 11:50:36
5#
Richard.Huang 发表于 2024-1-3 11:25
对于您的这个需求,您可以参考这篇帖子来实现:https://gcdn.grapecity.com.cn/showtopic-155185-1-213.h ...

getCellRect获取的如果是合并单元格的,信息好像会报错,我是通过计算高度、宽度来累加总高度、总宽度再和容器高度、宽度比对这个思路,不知道这个可行吗,这个思路,我想请问下我能不能获取到行或者列总计、小计的宽度或者高度
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-1-3 13:22:55
6#
Richard.Huang 发表于 2024-1-3 09:51
您好,去除水平滚动条可以用如下的API来实现:
spread.options.showHorizontalScrollbar = false;
您的第 ...

指的是让每一列都集中在页面内
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-3 14:34:40
7#
wutao@digiwin 发表于 2024-1-3 11:50
getCellRect获取的如果是合并单元格的,信息好像会报错,我是通过计算高度、宽度来累加总高度、总宽度再 ...

您好,请问您说的报错指的是什么呢?能否提供报错截图我参考一下。
您的思路是可以的,获取行高可以使用sheet.getRowHeight()方法、获取列宽可以使用sheet.getColumnWidth()方法。
API参考:
1. https://demo.grapecity.com.cn/sp ... heet#getcolumnwidth
2. https://demo.grapecity.com.cn/sp ... ksheet#getrowheight
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-3 14:40:34
8#
wutao@digiwin 发表于 2024-1-3 13:22
指的是让每一列都集中在页面内

您的目的是将所有列都显示在一页内吗?对此我们没有直接对应的API去设置,您只能通过列数、整个可视区域的总列宽去考虑如何使用算法来设置列宽。这里的列数可以通过sheet.getColumnCount()来获取、可视区域的列宽可以通过(spread.getHost().offsetWidth - sheet.getColumnWidth(0, GC.Spread.Sheets.SheetArea.rowHeader))来获取。
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-1-3 15:21:17
9#
Richard.Huang 发表于 2024-1-3 14:40
您的目的是将所有列都显示在一页内吗?对此我们没有直接对应的API去设置,您只能通过列数、整个可视区域 ...

getHost() spreadjs16 这个api会报错,我测试过了
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-1-3 15:24:56
10#
Richard.Huang 发表于 2024-1-3 14:34
您好,请问您说的报错指的是什么呢?能否提供报错截图我参考一下。
您的思路是可以的,获取行高可以使用 ...

我想知道有没有能获取到横向的固定列,以及如果横向有小计、总计啥的宽度
纵向的表头如果有多列、有总计、小计,这个有api吗,应为这些都是变动的,我必须要拿到这个才可以精确的计算宽度和高度,然后和dom的宽度、高度比对。

回复上一个问题:
getCellRect 这个api获取到的信息是错的,不是报错,如果这个是合并单元格好像是报错,我想知道如果想用这个api,能不能提供横向纵向的计算总宽度 总高度的示例(包含单元格为合并单元格的情况),如果采用这种情况,我就不用计算上一个方案的小计 总计啥的。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部