找回密码
 立即注册

QQ登录

只需一步,快速开始

ccooder

注册会员

14

主题

48

帖子

122

积分

注册会员

积分
122

微信认证勋章

ccooder
注册会员   /  发表于:2019-1-30 17:56  /   查看:6625  /  回复:12
现在我的工作表底部的横向导航条和一部分的内容不显示,目前我还不确定是与我页面不兼容还是控件的问题,很大可能是我的页面不兼容
但是找了很长时间  实在是没有看到有什么对Spread产生了影响。

先问:SpreadJS在iframe里面使用会有问题吗?

不过,我现在想从另一个方面解决问题,我现在使用的是Spread的一个属性
spread.options.scrollbarMaxAlign = true;
使得滚动条各最大的行列对齐


默认的如果不使用对齐属性的话,会滚动到最后一行在最上面为止
有没有一种方法可以设置滚动条的对齐位置,







12 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-30 18:20:10
沙发
您好,我这边想象不出您具体遇到的问题是什么,

猜测应该是SpreadJS界面下方有部分内容被遮挡了,

通常这种情况是由于SpreadJS所在div容器设置css导致的,

可以设置css改变一下高度试试。

在IFrame中使用没有什么固有的问题,一般如果出现界面问题,

都是外部DOM元素样式导致的。

关于滚动条的对齐位置,您能否详细描述一下您的需求,

打个比方描述一下,或者说一下您的应用场景.
回复 使用道具 举报
ccooder
注册会员   /  发表于:2019-1-31 11:44:40
板凳
嗯,您昨天说的这些我分两个部分回复吧:
1.关于iFrame中使用Spread样式这个问题
我今天做了一下测试,发现Spread渲染DIV的时候【应该是对DIV加了绝对定位的属性,(不知道我猜的对不对)】

2.关于滚动条的对齐位置

image.png175684813.png
这是最大对齐
如果不对齐是下面这样的情况
image.png602706908.png

我的需求是能不能控制这个对齐的位置,因为这个位置太靠上部了
回复 使用道具 举报
ccooder
注册会员   /  发表于:2019-1-31 13:50:50
地板
后来我又继续做了测试  发现我之前的结论是错的。
但是确实是SpreadJS一点儿小问题,我先说下,听不听的懂,接下来我们可以再沟通
如果指定了DIV的区域大小,并且设置DIV的overflow属性是hidden
那么SpreadJS渲染的时候会有一小部分会显示不出来,但是呢,SpreadJS是带滚动条的为什么也是没有显示完全呢
回复 使用道具 举报
ccooder
注册会员   /  发表于:2019-1-31 14:25:38
5#
我再补充一些:
就是SpreadJS渲染的时候没有根据当前所在的容器大小而是根据页面的整体大小去决定
工作表的宽度和高度。
我个人觉得应该是根据当前的容器来决定其宽高
回复 使用道具 举报
ccooder
注册会员   /  发表于:2019-1-31 14:26:14
6#
KevinChen 发表于 2019-1-30 18:20
您好,我这边想象不出您具体遇到的问题是什么,

猜测应该是SpreadJS界面下方有部分内容被遮挡了,

麻烦您看下我后来补充的一些内容。3楼开始
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-31 15:51:52
7#
您好,看了您所有的留言,总结回复一下:

1、Spread JS是用canvas实现的,包括滚动条也是在canvas中绘制的,

所以Spread JS的滚动条和它外部DIV的滚动条不冲突,而且Spread JS默认

为其所在的容器DIV添加了overflow visible的属性,也就是说当它尺寸

超出Div时(比如右键菜单)仍会完整显示。

当然您这里的问题我猜测应该不是这个问题引起的。

2、Spread JS的高宽确实是随着所在DIV的尺寸变化而改变的,如图:

image.png232876891.png

这是我设置了Spread JS所在层的宽高都是50%的效果。

css如下:

  1. .sample-tutorial {
  2.             position: relative;
  3.             height: 50%;
  4.             width: 50%;
  5.             overflow: hidden;
  6.         }
复制代码
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-31 16:00:19
8#
以上是关于层样式的问题,如果还解决不了您的问题,

麻烦您上传一个能重现问题的Demo,我们为您分析排查一下。

另外,关于滚动条的问题,Spread JS这两种滚动方式都不满足您需求的话,

有一个方法供您参考,您可以采用事件来实现,代码如下:

  1. var spread = GC.Spread.Sheets.findControl("ss");
  2. var sheet = spread.getActiveSheet();

  3. sheet.bind(GC.Spread.Sheets.Events.TopRowChanged, function (sender, args) {
  4.     if(args.newTopRow > sheet.getRowCount()-10){
  5.         sheet.showRow(args.newTopRow - 10, GC.Spread.Sheets.VerticalPosition.top);
  6.     }
  7. });
复制代码
回复 使用道具 举报
ccooder
注册会员   /  发表于:2019-1-31 16:14:23
9#
是,它是会随着DIV的大小变化,但是,下面会有部分内容不显示 如下图
image.png832381591.png
这个情况div 的overflow 是hidden
在其他任何条件不变的情况下,只把 overflow 换成 auto
会如下图所示:
image.png660533446.png
回复 使用道具 举报
ccooder
注册会员   /  发表于:2019-1-31 16:15:27
10#
KevinChen 发表于 2019-1-31 15:51
您好,看了您所有的留言,总结回复一下:

1、Spread JS是用canvas实现的,包括滚动条也是在canvas中绘制 ...

麻烦您看下新的回复
这个直接回复帖子没有办法上传图片
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部