找回密码
 立即注册

QQ登录

只需一步,快速开始

kjzy520

初级会员

14

主题

28

帖子

306

积分

初级会员

积分
306
kjzy520
初级会员   /  发表于:2018-5-21 16:34  /   查看:6946  /  回复:10
本帖最后由 kjzy520 于 2018-5-21 17:07 编辑

产品版本: V11
浏览器版本: Google Chrome版本 64.0.3282.186(正式版本) (32 位)
问题描述:如何获取table的数据,我需要JSON数据格式,或者能转为JSON的格式
关键代码:
  1. var source=[{index:1,fileTitle:"标题1"},{index:2,fileTitle:"标题2"}];
复制代码

10 个回复

倒序浏览
kjzy520
初级会员   /  发表于:2018-5-21 17:08:21
沙发
本帖最后由 kjzy520 于 2018-5-21 17:09 编辑
  1. 关键代码:
  2. var source=[{index:1,fileTitle:"标题1"},{index:2,fileTitle:"标题2"}];
  3. sheet = spread.getSheet(0);
  4. spread.suspendPaint();
  5. spreadNS = GC.Spread.Sheets;
  6. //制表单位
  7. table = sheet.tables.addFromDataSource("tableRecords", 5, 1, r, spreadNS.Tables.TableThemes.light6);
  8. table.bandRows(false);//不设置行间样式
  9. table.filterButtonVisible(false);//不设置过滤
  10. table.autoGenerateColumns(false);
  11. var tableColumn1 = new spreadNS.Tables.TableColumn();
  12. tableColumn1.name("序号").dataField("index");
  13. var tableColumn2 = new spreadNS.Tables.TableColumn();
  14. tableColumn2.name("发生时间地点").dataField("fileTitle");
  15. table.bindColumns([
  16.             tableColumn1,
  17.             tableColumn2,
  18. ]);
  19. spread.resumePaint();
复制代码
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-21 18:38:36
板凳
SpreadJS是双向绑定,通过sheet.getDataSource()来获取数据源,获得的就是修改过后的数据源。
回复 使用道具 举报
kjzy520
初级会员   /  发表于:2018-5-22 09:12:39
地板
ClarkPan 发表于 2018-5-21 18:38
SpreadJS是双向绑定,通过sheet.getDataSource()来获取数据源,获得的就是修改过后的数据源。

但是我并没有设置sheet.setDataSource(),请问能用table的属性获得我想要的数据吗?或者用你说的方法有怎么实现呢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-22 11:02:28
5#
但您的代码设置了绑定关系,却不绑定数据源,这本身就不合理,所以建议使用绑定数据源
回复 使用道具 举报
kjzy520
初级会员   /  发表于:2018-5-22 13:57:48
6#
ClarkPan 发表于 2018-5-22 11:02
但您的代码设置了绑定关系,却不绑定数据源,这本身就不合理,所以建议使用绑定数据源

怎么会撤到合理不合理,你们官方给的案例也没有设置数据源啊http://demo.grapecity.com.cn/Spr ... /#/demos/basicTable
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-22 18:13:20
7#
本帖最后由 ClarkPan 于 2018-5-22 18:15 编辑

var table = sheet.tables.addFromDataSource('table2', 1, 1, source);这句话不就是数据源绑定啊 image.png786428527.png
而且您代码
table.bindColumns([
    tableColumn1,
    tableColumn2,
]);
这个就是在设置绑定列的关系啊
回复 使用道具 举报
kjzy520
初级会员   /  发表于:2018-5-22 18:40:12
8#
ClarkPan 发表于 2018-5-22 18:13
var table = sheet.tables.addFromDataSource('table2', 1, 1, source);这句话不就是数据源绑定啊
而且您 ...

那你直接回答我的问题就行了啊
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-23 14:55:57
9#
之前有说过这块是双向绑定,在页面修改后重新获取下source就可以了。
比如原来的将source设置成全局变量,修改过后,该变量也会被修改。直接去这个变量就可以了。
回复 使用道具 举报
kjzy520
初级会员   /  发表于:2018-5-25 16:58:06
10#
ClarkPan 发表于 2018-5-23 14:55
之前有说过这块是双向绑定,在页面修改后重新获取下source就可以了。
比如原来的将source设置成全局变量, ...

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