本帖最后由 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”,导致后续的过滤条件无法生效,无法在新增的报告中配置数据分页。
|