永洪社区

标题: 实现地图数据分组展示 [打印本页]

作者: yhdata_pTpuqWyB    时间: 2024-7-11 20:12
标题: 实现地图数据分组展示
本帖最后由 yhdata_pTpuqWyB 于 2024-7-11 20:22 编辑

报告中有一地图组件,用于展示各城市的客户数,关联的数据集中的城市约有20个,但由于放置地图的区域较小,如果将20个城市的数据同时展示出来,会导致部分城市的标签(城市名+分行)无法完整展示,或与其它城市标签重叠,或只在地图上显示一个点,展示效果不佳。经过验证现有的地图区域,最多同时展示10个城市的数据。尝试过使用“轮播”组件来实现分组展示,但轮播时整个地图在跑,效果怪异,LD无法接受。现希望实现一个效果,在同一个地图组件上(地图不变),第一次刷新时展示前10个城市,第二次刷新展示后10个城市。

目前发现一种可能可用的思路,但相关js脚本在9.4.4版本后无法使用,贴出来供各位参考下是否有修改的方案。

1. 报告-脚本-装载时运行的js:装载时获取数据集行数
var i = execute(this,SQL,"业务共享/城市数据");
var j = toArray(i,1);
param['x']= 0 ;
var totalrows = j.length;//表格总行数
2.报告-脚本-变化时运行的js:设定展示行数上限、变化时数据集获取页数
var rowsperpage = 10; //每页多少行
var totalpage=ceiling(totalrows/rowsperpage,1);  //展示多少页
    param['a']=rowsperpage*param['x'];
    param['b']=rowsperpage*(param['x']+1);
param['x']=param['x']+1;
if(param['x']>=totalpage){
    param['x']=0;
}
3. 在关联表格的数据集增加个“表达式”:mod(ridx.15)
4.在页面表格组件中配置过滤条件:“表达式 是 大于[?{a}] ” 与 “表达式 是 小于等于 [?{b}]”
目前在9.4.4版本中,由于原表达式功能改成计算式,不支持使用mod和ridx,配置到上述第3个步骤输入mod(ridx.15)后,提示“计算包含错误,发现不合法的语句ridx”,导致后续的过滤条件无法生效,无法在新增的报告中配置数据分页。


作者: 行走的蜗牛    时间: 2024-7-12 09:47
建议把不同类问题拆开提问。第几次刷新的触发前端貌似获取不到,目前能想到的也只有轮播,或者tab做好设置轮播




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