找回密码
 立即注册

QQ登录

只需一步,快速开始

KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-14 20:39:11
11#
您好,针对组合图表以及部分其他图表,更改数据源应该采用设置series的方式,

就本例来说,要把Sheet4的引用改为Sheet1的数据引用,可以参考以下代码:

  1. var spread = GC.Spread.Sheets.findControl("ss");
  2. var sheet = spread.getActiveSheet();
  3. var chart = sheet.charts.get("图表 1");
  4. var seriesCollection = chart.series();
  5. var series = chart.series().get();
  6. for(var i=0; i<series.length; i++){
  7.     var tmp = series[i];
  8.     // 设置series名称单元格
  9.     tmp.name = "Sheet1!$A$"+(i+2);
  10.     // x轴引用
  11.     tmp.xValues = "Sheet1!$B$1:$N$1";
  12.     // y轴引用
  13.     tmp.yValues = "Sheet1!$B$"+(i+2)+":$N$"+(i+2);
  14.     // 设置series
  15.     chart.series().set(i, tmp);
  16. }
复制代码
回复 使用道具 举报
2541605476
注册会员   /  发表于:2019-5-15 15:00:37
12#
KevinChen 发表于 2019-5-14 20:39
您好,针对组合图表以及部分其他图表,更改数据源应该采用设置series的方式,

就本例来说,要把Sheet4的 ...

这个series.length的长度是固定的,当Sheet1的数据是动态的,Sheet1 的数据行数 比Sheet4 的数据行多。还是要先使用dataRange() 进行绑定在设置series , 有没有更好的方法绑定动态数据
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-15 23:36:17
13#
2541605476 发表于 2019-5-15 15:00
这个series.length的长度是固定的,当Sheet1的数据是动态的,Sheet1 的数据行数 比Sheet4 的数据行多。还 ...

您好,设置series就是设置chart绑定数据的方式,实际上设计器中也是这样实现的。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部