怎么修改帆软报表的finereport.css

html-css030

怎么修改帆软报表的finereport.css,第1张

举个例子给题主吧,这样比较好理解一点。

添加一个模板参数p1,将模板参数添加到参数面板中,并设置为文本框控件,参数默认值是地区;再在报表里添加一个文本框控件,文本控件内容也是地区。希望获取参数面板上文本框和报表里的文本框边框变为红色,字体颜色变为蓝色,直接使用FineReport设计器是无法实现这个效果的,那么使用css样式该如何实现呢?

1、css样式编写

新建一个css文件,获取文本框的类选择器为.fr-texteditor,在css文件中输入该类的样式:

.fr-texteditor{ border:1px solid redcolor:bluefont-weight:bold}

保存该css文件为css.css,保存在%FR_HOME%/下面。

2、引用css

打开模板,点击模板>模板web属性,选择引用css,点击选择按钮,选中刚刚新建的css文件,点击增加按钮,将该css增加到下方列表中,如下图所示:

3、效果查看

点击填报预览,如下图所示效果:

修改css样式除了可引用外部css文件外,还可以通过web页面事件来覆盖其样式。比如说,加载完成之后,希望文本框边框显示为绿色,字体显示为加粗蓝色,即可打开模板,点击模板>模板web属性>填报预览设置,选择为该模板单独设置,添加一个加载结束事件,并且勾选上直接显示控件。

$('.fr-texteditor').css('color','blue')

$('.fr-texteditor').css('font-weight','bold')

$('.fr-texteditor').css('border','1px solid red')

帆软制作的文件本地保存方法为,新建一个css文件,名字自定义,保存到本地安装帆软的目录里的webapps---->webroot里,自己新建两个文件夹,一个用于存放css,一个存放图片;

由于项目及业务需要,有时候一个页面会有n张报表,那么这个时候就需要一键导出功能(方便省事)

首先项目肯定要集成帆软报表工具,帆软的各种jar包以及静态资源(js,css)等也会集成到项目里。

直接上代码,(主要有两个方法)

function printReport(name, sex, age ){

var params=""

if(""!=name){

params+=",NAME:"+name

}

if(""!=sex){

params+=",SEX:"+sex

}

if(""!=age){

params+=",AGE:"+age

}

var items="{reportlet:zxt/test/test1.cpt"+params+"}"

+",{reportlet:zxt/test/test2.cpt"+params+"}"

doExport(items)

}

function doExport(items){

var form =$("<form>")

form.attr('style','display:none')

form.attr('target', '')

form.attr('method', 'post')

form.attr('action',"${bmw}/ReportServer")

var input1 = $('<input>')

input1.attr('type', 'hidden')

input1.attr('name', 'reportlets')

input1.attr('value',FR.cjkEncode("("+items+")"))

var input2 = $('<input>')

input2.attr('type', 'hidden')

input2.attr('name', 'extype')

input2.attr('value', 'simple')

var input3 = $('<input>')

input3.attr('type', 'hidden')

input3.attr('name', 'format')

input3.attr('value', 'excel')

var input4 = $('<input>')

input4.attr('type', 'hidden')

input4.attr('name','__filename__')

input4.attr('value', '报表批量导出')

$('body').append(form)

form.append(input1)

form.append(input2)

form.append(input3)

form.append(input4)

form.submit()

}

${bmw} 指的是项目的访问路径,另外FR.cjkEncode()用的是帆软报表自带的方法,需要导入帆软提供的两个js文件

${bmw}/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2017.01.20.14.49.47.271

${bmw}/ReportServer?op=emb&resource=finereport.chart.js&__v__=2017.01.20.14.49.47.271

然后调用printReport()方法就可以实现将多张报表导出到一个Excel文件里的多个sheet。