找回密码
 立即注册

QQ登录

只需一步,快速开始

hcq-mmd

注册会员

16

主题

47

帖子

143

积分

注册会员

积分
143
hcq-mmd
注册会员   /  发表于:2020-9-4 23:36  /   查看:6515  /  回复:10
1金币
比如列A,B,C 是否可以通过拖动的方式方式实现列的移动 比如拖动之后可以设置为B,A,C,我的列都是从数据库里读出来的,所以拖动列位置后,我会要通过事件把设置好的列位置重新保存到数据库中



this.FpSpread1.ActiveSheetView.AllowColumnMove = true; 这个怎么使用的,在javascript

最佳答案

查看完整内容

您可以参考以下示例代码:

10 个回复

正序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-8 14:42:32
11#
问题收到,此贴先结帖了。
回复 使用道具 举报
hcq-mmd
注册会员   /  发表于:2020-9-8 14:10:24
10#
这个可以结贴了,麻烦看看我最后说的问题,另外写了一个帖子
回复 使用道具 举报
hcq-mmd
注册会员   /  发表于:2020-9-8 13:54:20
9#
这个问题解决了,如何获取sheet表中的全部列名,列的下标,列是否显示标识,文字位置,列宽,请问这个五个参数的值怎么获取的?谢谢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-8 12:12:43
8#
根据您的代码写了一个demo,拖拽列是没问题的,您可以在附件查看。
下面的动图展示的demo运行后拖动列的操作。

demo1.gif

demo.html

3.01 KB, 下载次数: 190

回复 使用道具 举报
hcq-mmd
注册会员   /  发表于:2020-9-7 20:20:09
7#
window.onload = function () {
        var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
        var sheet = new GC.Spread.Sheets.Worksheet('New Sheet');
        spread.addSheet(0, sheet);
        var test = [
            { "Series0": 4, "Series1": 2,"Series2": 4, "Series3": 2 ,"Series4": 2 ,"Series5": 2 },
            { "Series0": 3, "Series1": 4,"Series2": 4, "Series3": 2 ,"Series4": 2 ,"Series5": 2},
            { "Series0": 3, "Series1": 4 ,"Series2": 4, "Series3": 2,"Series4": 2 ,"Series5": 2}
        ];
        var activeSheet = spread.getActiveSheet();//获取工作薄
        spread.options.allowUserDragDrop = true;
        activeSheet.autoGenerateColumns = true;
        activeSheet.setDataSource(test, true);
      
        activeSheet.bind(GC.Spread.Sheets.Events.DragDropBlock, function (e, args) {
            //获取下标值
            console.log("From Column:" + args.fromCol);
            console.log("To Column:" + args.toCol);
            //获取拖拽列的列名
            var colName = activeSheet.getValue(0, args.fromCol, GC.Spread.Sheets.SheetArea.colHeader);
            console.log(colName)
        });
    }
设置了允许拖动,也绑定了拖动事件,但就是拖动不了列,请问是什么原因
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-7 18:35:39
6#
设置是否允许列拖动的API为 allowUserDragDrop 。
默认情况下,SpreadJS允许列拖动,即 allowUserDragDrop 默认为true。
您可以设置 allowUserDragDrop  为false 来禁止列拖动。
  1. spread.options.allowUserDragDrop = false;
复制代码




回复 使用道具 举报
hcq-mmd
注册会员   /  发表于:2020-9-7 17:33:42
5#
请问一下,允许列拖动的基本环境设置是什么,能否说明一下
回复 使用道具 举报
hcq-mmd
注册会员   /  发表于:2020-9-7 15:27:27
3#
能否给个链接到具体事例的链接,我刚接触这个spreadJs,很多东西都不清楚怎么处理,把列拖到到其他位置时,怎么获取到此列当前的下标值,还有此列的列名,谢谢
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-9-7 09:54:24
2#
本帖最后由 Fiooona 于 2020-9-7 17:20 编辑

SpreadJS 可以进行拖拽列,拖拽时会触发DragDropBlock这个事件:
APi如下:
https://demo.grapecity.com.cn/sp ... ?highlight=event%2C

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-4 23:36:03
来自 4#
您可以参考以下示例代码:
  1. sheet.bind(GC.Spread.Sheets.Events.DragDropBlock, function (e, args) {
  2.         //获取下标值
  3.         console.log("From Column:" + args.fromCol);
  4.         console.log("To Column:" + args.toCol);
  5.         //获取拖拽列的列名
  6.         var colName = sheet.getValue(0, args.fromCol, GC.Spread.Sheets.SheetArea.colHeader);
  7.         console.log(colName)
  8. });
复制代码


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