找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-2-2 20:15  /   查看:4218  /  回复:2
本帖最后由 Clark.Pan 于 2023-4-9 01:13 编辑

背景:
用户希望能够自定义表格的绑定序列,例如第一列绑定数据源中的某个对象,第二列绑定另一个,第三列不参与绑定利用公式计算第一列与第二列的求和。第四列继续绑定某个对象,第五列不绑定为公式计算结果显示。
思路:
用手动绑定进行循环绑定,将不参与绑定的绑定列的name与datafield设置为null
核心代码:
  1. var tableColumns = [],
  2.                         names = ['orderDate', '(empty)','item', 'units', 'cost'],
  3.                         labels = ['Order Date', '(empty)', 'Item', 'Units', 'Cost'];
  4.                 var table = sheet.tables.add('tableRecords', 10, 1, 4, 5);
  5.                
  6.                 table.autoGenerateColumns(false);
  7.                 for (i = 0; i < names.length; i++) {
  8.                         tableColumnInfo = new GC.Spread.Sheets.Tables.TableColumn(i);
  9.                         var value = names[i];
  10.                         var label = labels[i]
  11.                         if (!value || value === "(empty)") {
  12.                                 value = null;
  13.                                 label = null;
  14.                         }
  15.                         tableColumnInfo.dataField(label);
  16.                         tableColumnInfo.name(value);
  17.                         tableColumns.push(tableColumnInfo);
  18.                 }
  19.                 table.bindColumns(tableColumns);
复制代码
完整例子见附件




表格自定义绑定序列.html

3.6 KB, 下载次数: 241

2 个回复

倒序浏览
zhangbo
初级会员   /  发表于:2020-2-28 21:13:06
沙发
你好,我现在在使用您这种方法,但是绑定完之后,并没有渲染出数据来,能给解答一下嘛?我把您发的demo页单独拿出去测试了 也是这种情况
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-3-3 09:09:59
板凳
附件的例子测试了吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部