找回密码
 立即注册

QQ登录

只需一步,快速开始

panqz

初级会员

42

主题

98

帖子

452

积分

初级会员

积分
452

[已处理] 表格绑定数据源

panqz
初级会员   /  发表于:2021-8-10 16:47  /   查看:1826  /  回复:8
本帖最后由 Clark.Pan 于 2021-8-11 09:09 编辑

image.png896008911.png image.png899211425.png
这个表格绑定数据源的示例中,如果我有另一个变量,如:aaa={[size=1em]orderDate: "日期",[size=1em]item: "产品",[size=1em]units: "单位",cost: "费用",orderDate: "日期",[size=1em]isMakeMoney:"开关"}
我如何使数据源能正常渲染,但是表头显示的是对应的中文,如日期、产品等中文描述。

8 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-10 17:19:10
沙发
如您的贴图所示
image.png996102600.png
这里小写的orderDate对应的就是您aaa中的orderDate,大写的Order Date对应您aaa中的日期字段。其他的以此类推。
建议您这边aaa的数据结构用数组,这样方便遍历,类似下面的代码所示:
  1.      var tableColumns = [],
  2.      names = ['orderDate', 'item', 'units', 'cost'],
  3.      labels = ['Order Date', 'Item', 'Units', 'Cost'];
  4.      names.forEach(function (name, index) {
  5.        var tableColumn = new GC.Spread.Sheets.Tables.TableColumn();
  6.        tableColumn.name(labels[index]);
  7.        tableColumn.dataField(name);
  8.        tableColumns.push(tableColumn);
  9.     });
复制代码

如果非要用对象,那么考虑循环遍历对象中的每一个属性,类似这样:
  1. for(var index in object){
  2.     console.log(index);
  3.     console.log(object[index]);
  4. }
复制代码


回复 使用道具 举报
panqz
初级会员   /  发表于:2021-8-10 20:05:33
板凳
image.png728692626.png image.png429831542.png 我按照这种方式,把表头打印出来,确实是中文的标题,但是最终显示的效果不是我想的那样
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-11 09:12:13
地板
兄嘚,你写反了dataField应该填header.name ,name里应该填header.title
image.png262877806.png
回复 使用道具 举报
panqz
初级会员   /  发表于:2021-8-11 14:52:42
5#
兄嘚,麻烦你看清楚再说好吗?你看你回复的,到底是说我写反了还是没反。。。。。这个问题已解决了,直接使用bind的话,关掉autoGenerateColumns就可以设置,不然表头就设置不了,后来我单独调用setColumnName重新设置表头了

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-11 15:16:26
6#
我意思就是你写反了,红框的截图是指出你写反的地方,语言文字告诉你应该如何改。当然autoGenerateColumns肯定要设置成false,你一楼的截图不是也写的false么,下面截图就是你一楼的图
image.png394936217.png
回复 使用道具 举报
panqz
初级会员   /  发表于:2021-8-11 15:49:39
7#
那我写反了,我现在还是反的写的为啥可以
回复 使用道具 举报
panqz
初级会员   /  发表于:2021-8-11 15:51:45
8#
还有你看你回的帖子,就说我写反了,你都不知道我的title和name是啥怎么判定饭了,现在告诉我autoGenerateColumns要关
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-11 16:37:39
9#
仔细的看了一下发现,先入为主了,从下面这个图我以为你设置的时候已经关掉了autoGenerateColumns。就没有怀疑这里。
image.png901477355.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部