找回密码
 立即注册

QQ登录

只需一步,快速开始

cuilu

金牌服务用户

5

主题

9

帖子

56

积分

金牌服务用户

积分
56

[已处理] 切换显示

cuilu
金牌服务用户   /  发表于:2017-12-22 20:39  /   查看:3950  /  回复:7
设计器做出的模板加载到页面,用自定义的菜单点击切换sheet,setActiveSheet(index)实现,但是切换后报表总是显示底部,滚动条永远在最下面,如何实现切换时候报表模板一直显示的是上半部分表格,滚动条在最上面

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-25 09:13:37
沙发
您再切换后事件ActiveSheetChangeed事件中,将滚动条置顶

            fpSpread1.SetViewportTopRow(0, 0);
回复 使用道具 举报
cuilu
金牌服务用户   /  发表于:2017-12-25 16:56:02
板凳
dexteryao 发表于 2017-12-25 09:13
您再切换后事件ActiveSheetChangeed事件中,将滚动条置顶

            fpSpread1.SetViewportTopRow(0,  ...

$('.menuLi').on('click',function(){
  spread.setActiveSheetIndex($(this).index());
});
我隐藏了控件自带的sheet切换,自己写的菜单通过这样的方式实现sheet切换,您提供的这个解决办法,我试了,不能在我这个自定义切换里面使用
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-25 17:01:40
地板
那就在您这个代码执行之后调用SetViewportTopRow 就可以了
回复 使用道具 举报
cuilu
金牌服务用户   /  发表于:2017-12-25 17:27:15
5#
dexteryao 发表于 2017-12-25 17:01
那就在您这个代码执行之后调用SetViewportTopRow 就可以了

报错,...has no method...
我的方法spread.getActiveSheet().setViewportTopRow(0,0);
我又写了spread.getActiveSheet().getViewportTopRow(1);获取可以,但是设置的不行,在spread文档里面我也只找到了获取,没找到设置
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-25 17:54:37
6#
setViewportTopRow 是 FpSpread的方法,不是sheet的


        //
        // 摘要:
        //     Sets the top row of cells of the specified viewport row for the specified sheet.
        //
        // 参数:
        //   sheetIndex:
        //     Index of the sheet
        //
        //   rowViewportIndex:
        //     Index of the viewport row
        //
        //   value:
        //     Index of the row to set as the top of that viewport
        //
        // 异常:
        //   T:System.ArgumentOutOfRangeException:
        //     Specified sheet index is out of range; must be between 0 and the total number
        //     of sheets
        public void SetViewportTopRow(int sheetIndex, int rowViewportIndex, int value);
        //
        // 摘要:
        //     Sets the top row of cells of the specified viewport row for the active sheet.
        //
        // 参数:
        //   rowViewportIndex:
        //     Index of the viewport row
        //
        //   value:
        //     Index of the row to set as the top of that viewport
        public void SetViewportTopRow(int rowViewportIndex, int value);

回复 使用道具 举报
cuilu
金牌服务用户   /  发表于:2017-12-25 19:32:07
7#
dexteryao 发表于 2017-12-25 17:54
setViewportTopRow 是 FpSpread的方法,不是sheet的

不好意思,我发错帖子了,是spreadJs,谢谢您
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-26 09:35:51
8#
没事,那spreadjs里处理吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部