找回密码
 立即注册

QQ登录

只需一步,快速开始

玩偶

中级会员

21

主题

65

帖子

515

积分

中级会员

积分
515
玩偶
中级会员   /  发表于:2016-9-7 08:41  /   查看:3557  /  回复:7
如何调整列的顺序,比如说把A列放到C列和D列之间进行显示?

7 个回复

倒序浏览
CCKan
银牌会员   /  发表于:2016-9-7 10:16:49
沙发
你可以选择整列后,按住'shift‘ 拖拽选择的边框到其它地方。
或者可以用代码:
var option = new GcSpread.Sheets.UndoRedo.DragDropExtent(-1, 1, -1, 3, -1, 1);
var action = new GcSpread.Sheets.UndoRedo.DragDropUndoAction(sheet, option,
                                        false, true, GcSpread.Sheets.CopyToOption.All);
sheet.doCommand(action);
回复 使用道具 举报
玩偶
中级会员   /  发表于:2016-9-7 11:29:52
板凳
CCKan 发表于 2016-9-7 10:16
你可以选择整列后,按住'shift‘ 拖拽选择的边框到其它地方。
或者可以用代码:
var option = new GcSpre ...

嗯,实现了,谢谢。我想问一个问题,就是我自定义的列头类型,在上面加了一个dom标签,横向滚动条滚动的时候,那个标签元素是不动的,我应该如何进行处理,我能获取当前看不到的列信息吗然后把标签remove掉。还是获取滚动条事件重新画列头?
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-9-7 14:01:08
地板
你最好别直接在列头上加 dom 标签,而是在 paint 方法中,使用第一个参数 ctx 画出来,你需要自己写 Canvas  的画法。其它就不需要做任何事滚动就是好的了。

横向滚动的事件可以使用 GcSpread.Sheets.Events.LeftColumnChanged
回复 使用道具 举报
玩偶
中级会员   /  发表于:2016-9-7 14:13:12
5#
CCKan 发表于 2016-9-7 14:01
你最好别直接在列头上加 dom 标签,而是在 paint 方法中,使用第一个参数 ctx 画出来,你需要自己写 Canvas ...

嗯,我要的这个画不出来,必须用dom元素,那你的建议就是滚动的时候重新画了呗?
上面那个移动列我还有个疑问,如果这个列我绑定数据了,按照你那个方法copy出来的只是value值吧,还能绑定之前的数据了吗?
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-9-7 16:32:12
6#
没有什么是 Canvas 画不出来的!简单点麻烦点的问题罢了。如果用 dom  的话只能滚动的时候重画 sheet 了。
是的,绑定的时候确实有问题,会把移动的列的绑定删除了。你能够先调整数据源中列的顺序,再绑定到 SpreadJS 吗?
回复 使用道具 举报
玩偶
中级会员   /  发表于:2016-9-8 08:57:22
7#
CCKan 发表于 2016-9-7 16:32
没有什么是 Canvas 画不出来的!简单点麻烦点的问题罢了。如果用 dom  的话只能滚动的时候重画 sheet 了 ...

那这样的话,不就是重新bindColumns就得了吗
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-9-8 09:18:07
8#
由于我们在移动列的时候会执行删除操作,删除列的时候会删除数据源中的数据,所以最好是先解除绑定,再移动,再重新绑定。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部