锐浪报表+条件查询

        人事项目快要结束了,但是报表问题还是得不到解决。我们前台采用MVC开发模式,但是MVC和锐浪不能很好的结合。如果是一下查询所有的数据还是比较简单的,但是用户需求是能对报表直接操作,按条件查询。无奈,找到一个解决办法,那就是将报表单独发布一个系统,当人事系统调用报表时则跳转到报表系统的独立连接。下面来说说如何给锐浪报表单独发布。

        报表插件运行在客户端电脑上,可以用报表插件的编程接口将网页客户端上的数据加载到报表中,如将网页上的UI界面上的数据传入到报表中进行打印等。

        在设计报表模板时,通常会设置数据源连接串与查询SQL语句,如果在报表插件中没有为报表关联服务器URL数据,报表模板中的数据源设置将会被应用,报表插件将尝试从对应数据源中获取报表数据。此种方式会存在严重的弊端,因为连接串中的数据库用户与密码信息是固定的,客户端必须具有直接访问数据库的权限,这样会有很大的安全局限性,特别是对于Internet网(广域网)来说,客户端肯定不能直接访问数据库。WEB报表应该关联报表数据DataURL,从 DataURL 处获取 XML 数据, 这样客户端肯定能访问WEB服务器,这样肯定不存在访问权限限制。除此之外,这种方式获取报表数据需要Windows 客户端提供对应数据库的 OLE DB 驱动程序,如 Oracle、MySQL 等很多数据库在 Windows 下并没有直接安装有其 OLEDB 驱动程序,这样就需要为每个客户端安装 OLE DB 驱动程序,这样也会极大增加软件部署的难度。所以强烈建议不采用这种方式为WEB报表提供数据。

一、在网页中插入报表插件

         在网页中通过插入 object标签将各种浏览器插件嵌入到网页中,Grid++Report报表插件也是通过这样的方式将其嵌入到网页中。Grid++Report为此定义了专门的javascript 函数来简化此任务,相关函数定义在例子程序的 CreateControl.js代码文件中,每个函数的参数说明在代码中都有详细注释说明。下面是CreateControl.js 代码:

 

//1、变量 gr_InstallPath 等号后面的参数是插件安装文件的所在的网站目录,一般从网站的根目
//   录开始寻址,插件安装文件一定要存在于指定目录下。
//2、gr_Version 等号后面的参数是插件安装包的版本号,如果有新版本插件安装包,应上传新版
//   本插件安装文件到网站对应目录,并更新这里的版本号。
//3、更多详细信息请参考帮助中“报表插件(WEB报表)->在服务器部署插件安装包”部分
var gr_InstallPath = "grinstall"; //实际项目中应该写从根目录寻址的目录,如gr_InstallPath="/myapp/report/grinstall"; 
var gr_Version = "6,0,15,0819";

//以下注册号为本机开发测试注册号,报表访问地址为localhost时可以去掉试用标志
//购买注册后,请用您的注册用户名与注册号替换下面变量中值
var gr_UserName = '锐浪报表插件本机开发测试注册';
var gr_SerialNo = '8PJH495VA61FLI5TG0L4KB2337F1G7AKLD6LNNA9F9T28IKRU6N33P8Z6XX4BUYB5E9NZ6INMD5T8EN47IX63VV7F9BJHB5ZJQQ6MX3J3V12C4XDHU97SXX6X3VA57KCB6';

//报表插件目前只能在32位浏览器中使用
var _gr_platform = window.navigator.platform;
if (_gr_platform.indexOf("64") > 0)
    alert("锐浪Grid++Report报表插件不能运行在64位浏览器中,相关报表与打印功能将无法正常运新,请改用32位浏览器!");

//区分浏览器(IE or not)
var _gr_agent = navigator.userAgent.toLowerCase();
var _gr_isIE = (_gr_agent.indexOf("msie")>0)? true : false;

var gr_CodeBase;
if( _gr_isIE )
    gr_CodeBase = 'codebase="' + gr_InstallPath + '/grbsctl6.cab#Version=' + gr_Version + '"';
else
    gr_CodeBase = '';

//创建报表对象,报表对象是不可见的对象,详细请查看帮助中的 IGridppReport
//Name - 指定插件对象的ID,可以用js代码 document.getElementById("%Name%") 获取报表对象
//EventParams - 指定报表对象的需要响应的事件,如:"<param name='OnInitialize' value=OnInitialize> <param name='OnPr
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值