在进行报表集成到时候,有时候需要调用js事件进行批量打印报表。
BiosReportModel
说明:前端javascript报表访问模型,方便用户进行查询,打印等报表访问操作。
举例:var rptModel = new BiosReportModel();
rpt
说明:设置报表的rpt参数。
举例:rptModel.rpt = 'Demo/分组报表/5分组汇总.brt';
setParam
说明:设置报表某参数的值
举例:rptModel.setParam('year', '2013');
removeParam
说明:删除报表某参数的值
举例:rptModel.removeParam('year');
setVar
说明:设置报表某变量的值
举例:rptModel.setVar('var1', 'testvalue');
removeVar
说明:删除报表某变量的值
举例:rptModel.removeVar('var1');
setProp
说明:设置报表访问的内置参数
举例:rptModel.setProp('rfscache', 'true');
removeProp
说明:删除报表访问的内置参数
举例:rptModel.removeProp('rfscache');
getQueryString()
说明:获取 rpt=xx.brt¶ms=p1=xx;p2=yy;&vars=v1=xxx;v2=yyy 格式的报表访问字符串
举例:var query_str = rptModel.getQueryString();
getQueryStringWithProp()
说明:获取包含了内置参数的报表访问字符串
举例:var query_prop_str = rptModel.getQueryStringWithProp();
setPrintCfg()
说明:为报表模型添加打印设置信息
举例:rptModel.setPrintCfg(printCfg);
使用BiosReportModel模型时,需要引用bios_report_common.js
BiosPrintConfig
说明:创建打印设置对象,javascript脚本调用形式的客户端批量打印支持,并可在打印时调整每张报表的打印设置,支持设置直打打印机。
举例:var printCfg = new BiosPrintConfig();
BiosPrintConfig的属性
id
说明:设置id,将根据id使用服务器配置文件中的打印设置。
举例:printCfg.id = 'my_config';
printer
说明:设置打印机名称。
举例:printCfg.printer = "Microsoft XPS Document Writer";
startPage
说明:打印起始页,从1开始
举例:printCfg.startPage = 1;
endPage
说明:打印结束页,0表示尾页
举例:printCfg.endPage = 0;
landscape
说明:纸张横向
举例:printCfg.landscape = true;
align
说明:打印定位,居左。可设置值: 'left','center','right'
举例:printCfg.align = 'left';
scale
说明:打印缩放比例,1为保持原始大小,0.5为缩小到50%,以此类推
举例:printCfg.scale = 1;
pageFormat
说明:设置页面属性
页面属性设置
paper
说明:页面属性,纸张名称,自定义纸张时,不需要设置该属性
举例:printCfg.pageFormat.paper = "A4";
paperWidth
说明:自定义纸张宽度,单位:毫米
举例:printCfg.pageFormat.paperWidth = 200;
paperHeight
说明:自定义纸张高度,单位:毫米
举例:printCfg.pageFormat.paperHeight = 150;
marginTop
说明:上边距,单位:毫米
举例:printCfg.pageFormat.marginTop = 25;
marginBottom
说明:下边距,单位:毫米
举例:printCfg.pageFormat.marginBottom = 25;
marginLeft
说明:左边距,单位:毫米
举例:printCfg.pageFormat.marginLeft = 20;
marginRight
说明:右边距,单位:毫米
举例:printCfg.pageFormat.marginRight= 20;
不设置上述的打印属性,仅设置id,将根据id使用服务器配置文件中的打印设置(配置文件print_config.xml在web应用下WEB-INF\resources文件夹下)
使用BiosPrintConfig模型时,需要引用bios_report_print.js
BiosReportPrint
说明:打印模型,可以调用BiosReportModel()设置的属性进行打印。
说明:打印方法,可以批量打印,也可以单张打印。
举例:BiosReportPrint.print(rptModel, printProp);或BiosReportPrint.print(rptArr, printProp);
rptArr是数组举例:
var rptArr = [];//要进行批量打印的报表数组
//添加多个报表
rptArr.push(rptModel);
rptArr.push(rptModel2);
rptArr.push(rptModel3);
printProp 是设置打印任务属性,showHint 打印前是否提示, hintText 提示的文字信息, selectPrinter 是否弹出打印机选择界面 。举例:
var printProp = {showHint:true,hintText:'是否要打印测试报表?',selectPrinter:false};
请参考Bios Server\webapps\iface\report文件夹下的batchPrint.jsp。