找回密码
 立即注册

QQ登录

只需一步,快速开始

600

注册会员

23

主题

42

帖子

175

积分

注册会员

积分
175
600
注册会员   /  发表于:2023-12-13 17:40  /   查看:2205  /  回复:1
3金币
本帖最后由 Richard.Ma 于 2023-12-18 10:18 编辑

目标:数据源宽度大于可视区域宽度时出现横向滚动条,小于时隐藏滚动条

目前:
let colCount = sheet.getColumnCount() // 总列数

let rcol = sheet.getViewportRightColumn(1) // 视图列数
if (colCount === rcol+1) {
    spread.options.showHorizontalScrollbar = false
} else if (colCount > rcol+1) {
    spread.options.showHorizontalScrollbar = true
}

出现的问题:可视区域宽度刚好卡在最后一列单元格时,滚动条隐藏了,此时应该出现滚动条才对

最佳答案

查看完整内容

您好,可以参考附件中的demo 主要代码如下:

1 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-12-13 17:41:00
来自 2#
本帖最后由 Ellia.Duan 于 2023-12-13 18:27 编辑

您好,可以参考附件中的demo

主要代码如下:
  1. if (sheet.getViewportBottomRow(1) == rowCount - 1) {
  2.             const spreadDomHeight = document.getElementById('ss').offsetHeight
  3.             const headerHeight = sheet.getRowHeight(0, GC.Spread.Sheets.SheetArea.colHeader)
  4.             const {y, height} = sheet.getCellRect(rowCount - 1, 1, 1, 1)
  5.             if ((y + height < spreadDomHeight - headerHeight)){
  6.                 spread.options.showVerticalScrollbar = false;
  7.             }
  8.         }

  9.         if (sheet.getViewportRightColumn(1) == colCount - 1) {
  10.             const spreadDomWidth = document.getElementById('ss').offsetWidth
  11.             const headerWidth= sheet.getColumnWidth(0, GC.Spread.Sheets.SheetArea.rowHeader)
  12.             const {x, width} = sheet.getCellRect(1, colCount-1, 1, 1)
  13.              if ((x + width < spreadDomWidth - headerWidth)){
  14.                 spread.options.showHorizontalScrollbar = false;
  15.             }

  16.         }
复制代码



如果行列总数在显示范围内,则不显示滚动条.html

2.45 KB, 下载次数: 156

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部