彩票走势图

SpreadJS帮助手册(三):工作簿相关

原创|使用教程|编辑:陈津勇|2019-10-25 15:03:22.980|阅读 1036 次

概述:本文整理了SpreadJS电子表格控件工作簿相关的问题和答案。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

SpreadJS电子表格控件将电子表格、数据可视化及计算功能集成在用户的JavaScript Web应用程序中,为用户创建计算器、动态交互式仪表盘、丰富多彩的报表,以及更多激动人心的功能!

本文整理了该JavaScript电子表格控件的工作簿相关问题及答案,希望对你有所帮助。

点击下载SpreadJS正式版


如何获取鼠标点击的具体x、y坐标?

在点击事件中可以获取到点击到的单元格的行索引、列索引。如果再要具体的x、y坐标的话需要配合命中测试,spread.hitTest(x, y),通过该方法可获取具体x、y坐标。在自定义单元格类型的时候,常常需要判断是否点击在了单元格的某个具体位置,这时候可以使用getHitInfo放方法获取点击的具体x、y坐标。

SpreadJS如何自适应页面大小?

我们创建SpreadJS时只需要在页面创建一个div即可。这个div的大小就决定了页面生成后spreadJS窗体的大小,所以我们需要让SpreadJS自适应页面大小也就只需要设置这个div的样式使其适应页面大小即可。如果浏览器窗口大小改变,表格大小没有随之改变可以调用spread.refresh()方法刷新。

如何控制垂直滚动条位置?

控制滚动条位置,是想要控制表单显示的内容区域,通过sheet.showRow()方法,可以控制表单显示第几行。

如何禁止SpreadJS滚动?

问题描述:当绘制的表单刚好能在页面指定大小区域显示的时候,通常会把滚动条隐藏掉,但是此时spreadjs的sheet还是可以滚动的,当滚动鼠标滚轮的时候,会发现表单上下滚动,用户体验效果不太好,这个场景下需要禁用滚动功能。

解决方案: 设置spread.options.scroolbarMaxAlign=true;

这个方法是设置滚动条是否对齐视图中表单的最后一行或一列,默认是false,这时候滚动条滚动到表单最下方或者最右方时是留有一些空白,这些空白会导致表单滚动。

如何动态隐藏滚动条?

问题描述:希望表单高度足够显示表单的内容时,就不显示滚动条,当高度不够,则显示。

解决方案:目前SpreadJS滚动条只支持显示和隐藏两种状态,如果要实现动态隐藏滚动条,需要手动写代码来帮助实现:

首先需要监听相应的变化事件,例如浏览器大小变化,spread容器的大小改变等,添加行,删除行后调用判断viewport表单视图区域与所有行高,列宽的大小来进行滚动条的显示和隐藏。

获取viewport宽度和高度可以通过

getViewportHeight:

//help.grapecity.com/spread ... ViewportHeight.html

getViewportWidth:

//help.grapecity.com/spread ... tViewportWidth.html

来获取,总行高与总列宽可以通过循环遍历所有行/列,通过getRowHeight/getColumnWidth获取每一行的高度/每一列的宽度,进行累加来求得。

如何解决SpreadJS在浏览器中显示有空白区域的问题?

设置合适的行数列数之后,SpreadJS右侧下侧仍留有空白,如下图所示,此时需要设置spread.options.scroolbarMaxAlign=true;让滚动条对其视图中表单的最后一行或一列。

如何让表单显示中文(本地化)?

1、需要引入中文资源文件

<script src=".../spreadjs/resources/ja/gc.spread.sheets.resources.ja.x.xx.xxxxx.x.min.js" type="text/javascript"></script>

2、设置本地化meta标签

<head> ... <meta name="spreadjs culture" content="zh-cn" /> ... </head>



*想要获得 SpreadJS 更多资源或正版授权的朋友,可以咨询了解哦~


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP