永洪社区

标题: <YonghongTech>地图组件数值标签设置高亮颜色预警 需求实现 [打印本页]

作者: 永洪tech-Jung    时间: 2022-1-6 17:16
标题: <YonghongTech>地图组件数值标签设置高亮颜色预警 需求实现
希望实现,地图组件 数值标签 按条件颜色预警
因地图组件不可设置高亮
所以需要帮忙写一段脚本


自行写了一段但是执行存在问题
脚本如下:
var loc=new Locator([],OBJECT,DETAIL);
var ForeW=new Color(0xFF2219);//字体红色
var ForeW1=new Color(0x333333);//字体黑色


var d=TextGuide();
图表39.binding.markCol["平均时长(h)".textGuide=d;--------字段存在问题、执行报错,这个字段名写原始和别名都报错、数值标签是拖在 左侧标签上了


if(d>=13)
{图表39.setForeground(loc,ForeW);}
else {图表39.setForeground(loc,ForeW1);}


作者: SamuelLiu    时间: 2022-1-6 20:01
本帖最后由 Yonghong_Samuel 于 2022-1-6 20:08 编辑

应该是locator引用有问题,照下面试试
图表标记值区域
var loc13 = new Locator(["Sum_列名"],MARK_TEXT,DETAIL);
文档参考https://www.yonghongtech.com/hel ... ighlightsub=Locator
作者: wangdandan    时间: 2022-1-7 10:17
Yonghong_Samuel 发表于 2022-1-6 20:01
应该是locator引用有问题,照下面试试文档参考https://www.yonghongtech.com/help/Z-Suite/9.3/ch/topic402 ...

谢谢,我尝试了一下,执行没效果,能不能请您帮我写个完整的脚本。
我的数值标签是拖在了左侧的标签上、不是行或列上,是不是有影响。

var loc = new Locator(["Avg_平均时长(h)"],MARK_TEXT,DETAIL);--列名我写的是别名、不是原始的字段名
var ForeW=new Color(0xFF2219);//字体白色
var ForeW1=new Color(0x333333);//字体黑色
if(loc>=13)
{图表39.setForeground(loc,ForeW);}
else {图表39.setForeground(loc,ForeW1);}
作者: _贝贝    时间: 2022-1-7 13:58
wangdandan 发表于 2022-1-7 10:17
谢谢,我尝试了一下,执行没效果,能不能请您帮我写个完整的脚本。
我的数值标签是拖在了左侧的标签上、 ...

loc不是一个数值型,是一个对象,这个需求不能做到判断对象是否大于多少,该需求当前无法高亮和脚本实现
作者: SamuelLiu    时间: 2022-1-11 17:29
wangdandan 发表于 2022-1-7 10:17
谢谢,我尝试了一下,执行没效果,能不能请您帮我写个完整的脚本。
我的数值标签是拖在了左侧的标签上、 ...

脚本实现不了,因为设置格式时是设置整体的,不能设置单个的。设置整体的脚本可以参考下面
var loc1 = new Locator(["_DATA_LATITUDE_"],MARK_TEXT,DETAIL);
var color = new Color(0xff0000);
图表1.setForeground(loc1, color);

var data = getData("图表1", DATA)
for(var i=1;i<data.size();i++)
{
    if(data.get(i,1)>500)//根据绑定的数据来,拿到的数据是一个一维表,要取数值的那一列每一行的值来判断。
    {
        图表1.setForeground(loc1, color);
    }
    debug(data.get(i,1));
}
如果要实现你说的功能,建议升级到最新版本,通过多层地图来实现,每一层通过过滤条件来过滤出对应的标签并设置相应的颜色。




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4