找回密码
 立即注册

QQ登录

只需一步,快速开始

hcq-mmd

注册会员

16

主题

47

帖子

143

积分

注册会员

积分
143
hcq-mmd
注册会员   /  发表于:2020-9-24 11:45  /   查看:3395  /  回复:3
20金币
2020-09-24_113045.png
for (var i = 0; i < data.showMeunSet.length; i++) {
    var colName = activeSheet.getValue(0, i, GC.Spread.Sheets.SheetArea.colHeader);
    var cName=arr[i].columnname
    if (colName==cName){
        var sort = arr[i].sort;
        //spread.options.allowUndo = true;
spread.commandManager().execute({cmd: "dragDrop", sheetName: "Sheet1", fromRow: -1, fromColumn: i, toRow: -1,toColumn:sort,rowCount:-1,columnCount:1,copy:false,insert:true,option:GC.Spread.Sheets.CopyToOptions.all});
    }}
如上图所示,我已设置后了数据源自动绑定,我现在需要通过列索引来对列的位置进行拖动,在for循环中,列原来的索引和列的拖动后的索引,我都已经取到并且放到了拖拽命令当中,但列的位置还是按照自动绑定的方式显示,没有按照我设置拖拽后的索引显示,请问这是什么原因?

最佳答案

3 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-24 11:45:47
来自 4#
sort需要+1
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-24 18:14:45
2#
没太理解您的意思,建议您提供一个能够重现问题的demo便于我们理解您的需求,谢谢
回复 使用道具 举报
hcq-mmd
注册会员   /  发表于:2020-9-24 23:52:46
3#
本帖最后由 hcq-mmd 于 2020-9-24 23:57 编辑

其实就是对表单的列进行拖动,如第一列到了第三列,第二列到了第五列,第四列到了第二列,我现在既获取到了原列的列索引(对应变量i),也记录了原列移动后的列索引(对应变量sort),使用拖拽命令语句spread.commandManager().execute({cmd: "dragDrop", sheetName: "Sheet1", fromRow: -1, fromColumn: i, toRow: -1,toColumn:sort,rowCount:-1,columnCount:1,copy:false,insert:true,option:GC.Spread.Sheets.CopyToOptions.all}); 发现列的位置并没有按照我配置的列索引位置来进行移动,请问这是什么原因?因为我记录多个列的移动情况,所以需要用循环的方式来对列的移动情况一次性展现出来
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部