找回密码
 立即注册

QQ登录

只需一步,快速开始

kkij

金牌服务用户

19

主题

72

帖子

211

积分

金牌服务用户

积分
211
kkij
金牌服务用户   /  发表于:2018-11-14 14:55  /   查看:4780  /  回复:14
有个功能是要实现设置表头,如果用蓝色划出的方式new一个spread,我重新设置表头不能显示。如果用红色方式new一个spread,就会每次点按钮都会重新new一个新的出来,请指点。
另外还有个问题,如何设置表的列数?
1.PNG

14 个回复

正序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-16 12:11:19
15#
不客气,
回复 使用道具 举报
kkij
金牌服务用户   /  发表于:2018-11-16 10:25:59
14#
KevinChen 发表于 2018-11-16 09:32
您好,我给您贴一段代码说明一下:

代码中演示了两种方式,一种是直接清空spread的所有表,

谢谢,按照你的方法,问题解决了
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-16 09:32:44
13#
您好,我给您贴一段代码说明一下:

代码中演示了两种方式,一种是直接清空spread的所有表,

另一种是清空每一张sheet表的所有数据。


  1.         $("#bt1").click(function () {

  2.             // 清空表
  3.             // spread.clearSheets();
  4.             // spread.addSheet(0,new GC.Spread.Sheets.Worksheet("SheetName"));

  5.             // 清空数据
  6.             for (var i =0; i<spread.getSheetCount(); i++) {
  7.                 var sheet = spread.getSheet(i);
  8.                 var rowCount = sheet.getRowCount();
  9.                 var colCount = sheet.getColumnCount();

  10.                 /*
  11.                 *   clear 第5个参数 GC.Spread.Sheets.SheetArea.viewport 指的是编辑区
  12.                 *       GC.Spread.Sheets.SheetArea.colHeader 代表列头区域
  13.                 *
  14.                 *   clear 第6个参数 GC.Spread.Sheets.StorageType.data 是指清空数据
  15.                 *       GC.Spread.Sheets.StorageType.style 代表样式
  16.                 * */
  17.                 sheet.clear(0,0,rowCount,colCount, GC.Spread.Sheets.SheetArea.viewport,
  18.                     GC.Spread.Sheets.StorageType.data);
  19.             }

  20.             confirm(collist, spread);

  21.             // spread.refresh();
  22.         });
复制代码

回复 使用道具 举报
kkij
金牌服务用户   /  发表于:2018-11-16 09:06:07
12#
KevinChen 发表于 2018-11-14 17:19
您好,我基于您的代码写了个Demo,可以直接在前端运行,

这个Demo展示了新加列名,替换列名的操作,您参 ...

$(document).ready(function () {
    ztree_obj.init_event();
    getTreeData();

    $("#bt1").click(function () {        
        confirm(ptype, spread);

    });


function confirm(ptype, spread) {
   
    $.ajax({
        ......
               
                var collist = [];
                for (var i in ss) {
                    collist.push(ss["列名"]);
                }               
                initSpread(collist,spread,ptype);
            }        
    });
}

//初始化sheet
function initSpread(collist,spread,ptype) {   
  ......
}

点击bt1按钮时创建spread,但是要先清空之前spread里面的所有数据,应该用哪个的clear方式?在哪里清除?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-15 13:42:05
11#
不客气,很高兴解决了您的问题,本帖我结帖了,有新的问题欢迎发新帖交流~
回复 使用道具 举报
kkij
金牌服务用户   /  发表于:2018-11-15 13:10:36
10#
KevinChen 发表于 2018-11-15 11:54
您好,看您的代码,setColumnCount写错了,少了个n,您复制我的代码,替换掉setColumnCount这一行就行。

...

谢谢!
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-15 11:54:31
9#
您好,看您的代码,setColumnCount写错了,少了个n,您复制我的代码,替换掉setColumnCount这一行就行。

  1. sheet.setColumnCount(collist.length, spreadNS.SheetArea.viewport);
复制代码
回复 使用道具 举报
kkij
金牌服务用户   /  发表于:2018-11-15 09:56:54
8#
KevinChen 发表于 2018-11-15 09:19
设置列数可以用setColumnCount方法来实现,API地址:

http://help.grapecity.com/spread/SpreadSheets11 ...

setColumCount不生效呢?

function initSpread(collist, spread) {
    spread.options.newTabVisible = false;
    var sheet = spread.getActiveSheet();//  spread.getSheet(0);
    sheet.name("新增");
   
    sheet.suspendPaint();
    sheet.setColumCount(collist.length, spreadNS.SheetArea.viewport);
    sheet.setRowCount(1, spreadNS.SheetArea.colHeader);
  
    //Change header "auto text".
    sheet.options.colHeaderAutoTextIndex = 0;
    sheet.options.colHeaderAutoText = spreadNS.HeaderAutoText.numbers;

    //Span three columns with the origin at column header cell (0,0).
    sheet.addSpan(0, 0, 1, 1, GC.Spread.Sheets.SheetArea.colHeader);
   
    for (var i = 0; i < collist.length; i++) {
        sheet.setValue(0, i, collist, GC.Spread.Sheets.SheetArea.colHeader);   
    }
  
    sheet.getCell(-1, 0).width(140);   
    sheet.resumePaint();

}
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-15 09:19:30
7#
设置列数可以用setColumnCount方法来实现,API地址:

http://help.grapecity.com/spread ... setColumnCount.html
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部