找回密码
 立即注册

QQ登录

只需一步,快速开始

红衣

注册会员

9

主题

39

帖子

183

积分

注册会员

积分
183

[已处理] 跳转记录问题

红衣
注册会员   /  发表于:2019-1-17 10:25  /   查看:5188  /  回复:15
本帖最后由 红衣 于 2019-1-17 11:44 编辑

我想实现附件里的图片功能。
1:跳转record。
2:点击向右箭头,可以一条一条记录滑下来。最左边会有三角标志是滑到这一行。
3:有总记录条数,跳转到了第几条
4:可以直接跳转到第一条和最后一条。
5:如果数据多,跳转到最后一条会很慢吗?
6:已经有类似封装好的方法了吗?

IMG_20190115_173641.rar

3.15 MB, 下载次数: 116

15 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-17 14:34:05
沙发
您好,

根据您描述的功能,以及附件中的截图,SpreadJS 有现成的命令可以实现,

但是没有界面,界面需要您自己来实现并关联。

参考API:

http://help.grapecity.com/spread ... navigationDown.html



回复 使用道具 举报
红衣
注册会员   /  发表于:2019-1-21 15:15:47
板凳
KevinChen 发表于 2019-1-17 14:34
您好,

根据您描述的功能,以及附件中的截图,SpreadJS 有现成的命令可以实现,

spread.commandManager().setShortcutKey('navigationDown', GC.Spread.Commands.Key.tab, false, false, false, false); // Tab key
spread.commandManager().setShortcutKey('navigationBottom', GC.Spread.Commands.Key.tab, false, true, false, false); // Shift key and Tab key

请问 这两段代码什么意思,我直接调用就可以了吗。没有反应啊
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-21 16:40:26
地板
您好,setShortcutKey方法是用来设置快捷键的,执行这两句代码后,

按Tab键可以向下滚动行,按住Shift再按Tab可以直接定位到最后一行。
回复 使用道具 举报
红衣
注册会员   /  发表于:2019-1-22 11:02:27
5#
首先,我需要放的位置在滚动条前面。相当于表单标签的位置。
而没有哪个文档给我这个接口可以在这个地方重写。
你发的链接,我也不知道如何去新建一个我想要的导航。
往下移动row,向上移动row,我看到了方法,但是承载这个方法,触发这个方法的按钮或者导航我都不知道如何画出来。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-22 11:58:06
6#
您好,

1、命令的调用方法,参考下面的代码:

  1. var spread = GC.Spread.Sheets.findControl("ss");
  2. spread.commandManager().execute({cmd: "navigationPageDown", sheetName: "Sheet1"});
  3. spread.commandManager().execute({cmd: "navigationPageUp", sheetName: "Sheet1"});
复制代码


2、上下翻页的命令,上述代码中已经给出,分别是navigationPageUp和navigationPageDown,

关于更多命令,请参考:

http://help.grapecity.com/spread ... heets.Commands.html
回复 使用道具 举报
红衣
注册会员   /  发表于:2019-1-22 13:26:17
7#
KevinChen 发表于 2019-1-22 11:58
您好,

1、命令的调用方法,参考下面的代码:

我想要接口,首先我得实现在下滚动条前面画个控件,
可以实现上下条数据的导航定位。可以自己画。
而且可以定制大小。第一次发的附件里有图。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-22 14:02:48
8#
您好,您要导航到具体行或者列,可以通过showRow和showColumn来实现,

也可以用getViewportTopRow获取到当前页面顶部显示的行号,相信这些API可以帮助您。

这些API都是Wooksheet的方法,请参考:

showRow:

http://help.grapecity.com/spread ... ksheet~showRow.html

getViewportTopRow:

http://help.grapecity.com/spread ... ViewportTopRow.html

如果您还需要选中指定区域或单元格,可以参考:

http://help.grapecity.com/spread ... t~setSelection.html

可以用sheet.getRowCount()来获取总条数,实现跳转到最后一条。

Spread JS都是lazyload结合实时渲染的机制,数据条目数量对您这个功能的性能没有影响。
回复 使用道具 举报
红衣
注册会员   /  发表于:2019-1-22 14:44:02
9#
KevinChen 发表于 2019-1-22 14:02
您好,您要导航到具体行或者列,可以通过showRow和showColumn来实现,

也可以用getViewportTopRow获取到 ...

谢谢,这个例子有一些帮助。但是例子是写html元素(input),然后绑定事件去导航行。
我想要的是在在spread区域里面,具体位置是在spreadjs生成的table的横滚导航条前面画个控件,实现行的导航和跳转。我不知道在那个区域画控件的接口。
第一个提问的截图里我有用红框框出来的位置。就按照他的图实现功能。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-22 17:59:20
10#
您可以通过自定义单元格的方式来画一个标记,

实际上SpreadJS 的行头和列头区域,就相当于两个数据表格区域一样,

支持了大部分操作。

我给您上传一个现有的Demo,您可以参考一下。

CustomCellType_Base_Icon_RowHeader.html

2.75 KB, 下载次数: 99

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