请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

swejet 悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-12-14 16:33  /   查看:3494  /  回复:9
https://demo.grapecity.com.cn/sp ... mos/ColumnHeaderRow  这个实例地址
问题出在:headerRow: {
        renderer: '{{=it.eval("=COLUMNSPARKLINE(histogram([precipitationmm], 0))")}}'
    } image.png291277465.png
出不来。
另外我想知道COLUMNSPARKLINE 和 histogram([precipitationmm], 0)求的是什么

9 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-14 17:37:45
沙发
=COLUMNSPARKLINE(histogram([precipitationmm], 0)) 这个是迷你图对应的是列的ID
image.png939484558.png
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-12-17 14:57:42
板凳
{
    id: "data5",
    caption: "[监督]基本数据-设计井深(斜)(m)",
    dataField: "data5",
    headerRow: {
      renderer: "{{=it.eval(\"=COLUMNSPARKLINE(histogram([data5], 0))\")}}"
    }
  }
用的就是ID列。但是提示#NAME?  COLUMNSPARKLINE和histogram是内部函数吗。我不用管是吗
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-17 17:09:26
地板
麻烦您提供一个能重现问题的小Demo,我们这边先重现一下问题,然后排查看您的问题出在哪里。
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-12-18 09:44:11
5#
这是数据和view代码

测试码.rar

12.24 KB, 阅读权限: 1, 下载次数: 144

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-18 14:03:37
6#
我这边用Demo重现了一下您的问题,效果如下:

image.png950663146.png

迷你图可以出来,Demo我给您附在附件上了,您先看一下。

swejet.html

5.08 KB, 下载次数: 121

回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2018-12-25 10:46:47
7#
我用你的实例做了测试。可以实现。之前你给的数据是
var testData = [
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3683.0
        },
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3689.0
        },
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3688.0
        },
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3670.0
        },
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3663.0
        }
    ];
我把第一个数据的data5数据改了之后
var testData = [
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 2249.0
        },
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3689.0
        },
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3688.0
        },
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3670.0
        },
        {
            data0: "港东_二区一_明馆",
            data1: "3、港8-60井完井总结",
            data2: "港8-60",
            data3: "采油井",
            data4: "定向井",
            data5: 3663.0
        }
    ];
这样子就出不来了。是不是数据间隔过大。画不出来。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-25 14:59:57
8#
swejet 发表于 2018-12-25 10:46
我用你的实例做了测试。可以实现。之前你给的数据是
var testData = [
        {

您好,造成这个问题的原因是,COLUMNSPARKLINE是个分布函数图,

如果数值之间差距不大时,在单元格宽度内看到的就是正常的,

而当数据之间差距较大时,按比例显示宽度时柱子的宽度经过计算后约等于0,

从而导致显示不出来。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-25 15:00:29
9#
swejet 发表于 2018-12-25 10:46
我用你的实例做了测试。可以实现。之前你给的数据是
var testData = [
        {

这个问题我会向研发部门进行反馈,后续进度我会在本帖跟进。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-25 15:09:46
10#
还有一个方案可以解决这个问题,

您只需要把这个分布迷你图的参数0改为1,即可正常绘制,只是数据之间的比例间距被忽略掉了。

代码示例:

  1. // 代码:
  2. renderer: '{{=it.eval("=COLUMNSPARKLINE(histogram([data5], 0))")}}'

  3. // 改为:
  4. renderer: '{{=it.eval("=COLUMNSPARKLINE(histogram([data5], 1))")}}'
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部