在日常使用地图过程中,通常会遇到地图标签,提示点等显示不满足我们的需求,需要进行JavaScript代码编写。
例如:在使用地图过程中,会发现很多地名显示的位置偏离。这时候就需要使用JavaScript进行调控。以黑龙江和内蒙古为例,来介绍下如何在FineReport中利用JavaScript自定义地图标签。
新建地图
以区域地图为例,新建表单,拖入地图(新特性)组件,地图边界选择区域地图下的中国(省级):
数据准备
新建工作簿,添加数据集ds1,SELECT*FROM地图1,选中图表,选择图表属性表-数据,如下图所示:
选择图表属性表-样式>系列,如下图设置,边框设为蓝色:
自定义JS显示标签
选择图表属性表-样式>标签,内容选择自定义,JS如下:
function(){ var points = this.points; var total = '<div style="width:100%;height:100%;">'; if(this.name=="内蒙古自治区") {total += '<div align=center style="margin-top:30px"><span style="font-size:25px;color:'+FR.contentFormat(points[1].value, '')+'">' +FR.contentFormat(points[2].value, '#0.00')+'</span>'+this.name+'</div>';} else if(this.name=="黑龙江省") {total += '<div align=center style="margin-top:100px;"><span style="font-size:25px;color:'+FR.contentFormat(points[1].value, '')+'">'+ FR.contentFormat(points[2].value, '#0.00')+'</span>'+this.name+'</div>';} else{total += '<div align=center ><span style="font-size:25px;color:'+FR.contentFormat(points[1].value, '')+'">'+FR.contentFormat(points[2].value, '#0.00')+'</span>'+this.name+'</div>';} for(var i = 0, len = points.length-2; i < len; i++) {total += ('<div align=center>'+FR.contentFormat(points[i].value, '#0.00')+'</div>');} total+='</div>'; return total;}
div align=center style="margin-top当读取名字为内蒙古自治区时候,我们进行margin显示位置的调整,使其不显示偏离
FR.contentFormat(value, '#.##%')进行数值格式自定义,后面的'#.##%'可以根据实际需求进行更改;
this.points这个参数在地图中使用时表示同一个区域上的不同的系列的点
自定义JS显示提示点
选择图表属性表-样式>提示,内容选择自定义,JS如下:
function(){var points = this.points ; var total = '<div style="width:100%; background-color:#808080;color:white">'; total +='<div align=left style="font-size:16px">'+this.name+'</div>'; for(var i = 0, len = points.length-1; i < len; i++) {total +='<div align=left style="font-size:13px">●'+points[i].seriesName+':'+FR.contentFormat(points[i].value, '')+'</div>';} return total;}
此处做一个简单的循环,循环展示我们前端设置的参数,并对参数做单独的处理,包括控制字体大小,以及显示格式。
保存与预览
调整后效果如下,标签位置正确,提示采用了自定义格式:
相关推荐
FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想将报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会...
此外,理解CSS的选择器和层叠规则对于在FineReport中使用自定义控件至关重要。CSS选择器可以帮助我们精准地定位需要修改的元素,如通过ID选择器(#id)、类选择器(.class)或标签选择器(element)。而层叠规则决定...
这部分通常涉及到使用JavaScript扩展FineReport的基础控件类,并通过快捷方式调用,实现从后端到前端的配置传递。在示例中,FR.CustomComboBoxEditor继承了***boBoxEditor,并在jQuery的上下文中实现了这个扩展。 ...
FineReport自定义css,只适用7.0系列版本。。。。。。
在JavaScript中,可以使用FineReport提供的API接口来实现这一需求。具体来说,可以通过编写一段JavaScript代码,使得在用户完成数据输入后,不必进行额外的操作即可立即读取到最新的值。 通常情况下,当在...
报表开发工具FineReport中js自定义按钮导出.pdf FineReport是一款 Reporting 和 Business ...通过这种方式,我们可以使用 FineReport 提供的 js 接口来实现自定义按钮的导出操作,并将其嵌入到 web 页面中。
在JavaScript中,我们需要继承FineReport的前端控件编辑器,例如`FR.ComboBoxEditor`,创建一个新的编辑器类`FR.CustomComboBoxEditor`,并覆盖或扩展所需的方法。 ```javascript (function($) { FR....
在IT领域,尤其是在数据分析和报表制作中,动态列报表是一种非常实用的功能,它允许用户根据需求自定义显示的列,从而提高数据可视化和分析的灵活性。FineReport是一款强大的报表工具,它提供了丰富的功能来支持这样...
在FineReport软件中,我们可以使用各种控件来设计报表的表样,如文本框、下拉框、日期选择器等。 1.1 表样设计 在表样设计中,我们需要设计好报表的基本框架,包括标题、表头、表体、表尾等部分。在FineReport软件...
FineReport设计器有自动的消息推送功能,可设置报表定时推送和常规的日报周报推送。官方有自己的消息推送的接口,不过有些用户旺旺希望自己开发,符合自己需求的推送界面。 下面这个方案就从逻辑层面简单阐述一个...
虽然理论上可以尝试将报表内容直接显示在`<div>`元素中,但是由于FineReport的JavaScript库采用了jQuery v1.9.2框架,这可能会导致与页面中其他JavaScript库发生冲突。为了避免此类问题,建议始终使用`<iframe>`的...
虽然理论上可以将报表直接嵌入到页面的div容器中,但由于FineReport使用的是特定版本的jQuery库(例如v1.9.2),这可能导致与页面中其他脚本库之间的兼容性问题。为了避免这些问题,建议仍然使用iFrame来嵌入报表。...
钉钉集成到FineReport插件中,是为满足企业用户在移动办公场景下,通过FineReport报表平台与钉钉企业号平台的深度整合,实现报表分享、消息推送、单点登录等多样化的功能需求。本文将详细介绍如何将钉钉与FineReport...
在FineReport中,JavaScript的使用主要体现在控件事件的触发上。事件触发机制是JavaScript与用户交互的关键,能够根据用户的操作动态响应,从而增强报表的互动性和功能性。以下是FineReport中几种常见的事件触发类型...
很多报表工具都自带大量的函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,报表工具FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义...
在使用报表开发工具FineReport进行报表开发时,理解其内部执行过程对于优化报表性能、调试和监控报表生成至关重要。FineReport中的报表执行过程可以分为两个主要步骤,即报表计算和页面转换。 首先,报表计算过程...
同时,为了与已有系统整合,可以在已有系统的登录页面如login.jsp中引入finereport.js文件,然后在JavaScript中定义提交用户名和密码的函数,通过iframe或ajax方式调用报表服务的验证接口。在FineReport平台系统中...