找回密码
 立即注册

QQ登录

只需一步,快速开始

scp@dahua
金牌服务用户   /  发表于:2017-6-15 08:32  /   查看:8504  /  回复:15
你好,对已加载的spreadjs后续进行栏位先后顺序设置,请问有没什么好的方案?
比如:如下图,客户需要自己将型号移到描述前
图片.png105622252.png

15 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-15 14:29:44
沙发
可以通过dragDrop命令去完成该操作,写了一个demo您可以进行参考:

dragdrop.zip

904 Bytes, 下载次数: 297

回复 使用道具 举报
scp@dahua
金牌服务用户   /  发表于:2017-6-15 14:55:53
板凳
ClarkPan 发表于 2017-6-15 14:29
可以通过dragDrop命令去完成该操作,写了一个demo您可以进行参考:

demo里没发现有我要设置栏位显示顺序的功能啊,
目前我使用的版本是SpreadJS.Production.10.0.2
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-15 15:03:57
地板
可能是我写的不是很易懂,我改了一下demo,您重新下一下,点击demo中的click按钮将会将第二列与第一列顺序颠倒,您可以进行参考

dragdrop.zip

931 Bytes, 下载次数: 348

回复 使用道具 举报
scp@dahua
金牌服务用户   /  发表于:2017-6-15 15:39:47
5#
本帖最后由 scp@dahua 于 2017-6-15 15:45 编辑
ClarkPan 发表于 2017-6-15 15:03
可能是我写的不是很易懂,我改了一下demo,您重新下一下,点击demo中的click按钮将会将第二列与第一列顺序 ...

demo可以了
以下两种场景如何实现:
1.多列一起顺序颠倒 如第四列排到第一列去,第一列第二列第三列依次往后移动
2.多列一起顺序颠倒 如第一列排到第四列去,第二列第三列第四列依次往前移动
3.列头有两行,第一行有横向合并单元格 这种在不破坏单元格合并的前提下如何颠倒顺序
以上帮解决下,谢谢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-15 16:31:55
6#
第一第二种情况
spread.commandManager().execute({cmd: "dragDrop", sheetName: "Sheet1", fromRow: -1, fromColumn: 2, toRow: -1,toColumn:0,rowCount:-1,columnCount:1,copy:false,insert:true,option:GC.Spread.Sheets.CopyToOptions.all});这个就可以实现,第一种情况fromColumn为3,toColumn为0。第二种情况fromColumn为0,toColumn为3
第三种情况,如果合并单元格与颠倒顺序不发生冲突是可以直接进行颠倒的,如果发生冲突需要先颠倒,之后重新合并该合并的单元格。
回复 使用道具 举报
scp@dahua
金牌服务用户   /  发表于:2017-6-15 16:45:28
7#
ClarkPan 发表于 2017-6-15 16:31
第一第二种情况
spread.commandManager().execute({cmd: "dragDrop", sheetName: "Sheet1", fromRow: -1,  ...

如果第一列移到第四列,第二列移到第六列。。这样多种颠倒顺序,是需要循环移到还是一次移到即可?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-15 17:40:26
8#
scp@dahua 发表于 2017-6-15 16:45
如果第一列移到第四列,第二列移到第六列。。这样多种颠倒顺序,是需要循环移到还是一次移到即可?

一次就可以2移至6就是将第二列移至第六列,其他列依次向前一格,您可以在我给您的demo中改动参数试一试,原理是很容易明白的。另外dragdrop命令的相关参数说明文档您可以进行参考:
http://sphelp.grapecity.com/webh ... mands~dragDrop.html
使用方式就是我在demo中写的那样
回复 使用道具 举报
scp@dahua
金牌服务用户   /  发表于:2017-6-27 10:53:42
9#
ClarkPan 发表于 2017-6-15 17:40
一次就可以2移至6就是将第二列移至第六列,其他列依次向前一格,您可以在我给您的demo中改动参数试一试, ...

如果第一列移到第四列,第二列移到第六列。。这样多种颠倒顺序,一次移动如何设置? 我没找到方法,请帮忙提供下demo
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-27 14:25:30
10#
scp@dahua 发表于 2017-6-27 10:53
如果第一列移到第四列,第二列移到第六列。。这样多种颠倒顺序,一次移动如何设置? 我没找到方法,请帮 ...

如果您是绑定数据源,可以在绑定时设置sheet.autoGenerateColumns = false;然后通过sheet.bindColumn()手动绑定列,这样您想要什么样的顺序都可以自己设置。

如果不是手动绑定数据源,那么要么预先设置好顺序,要么通过之前说的dragDrop方法来改变列的位置。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部