ZenosZeng 发表于 2015-12-18 17:45:00

ActiveReports 在 MVC 中运行时绑定数据源

源码下载:


功能描述:
本示例演示了在 ASP.NET MVC 4 中使用 ActiveReports 10 时,如何实现运行时数据源绑定。

开发环境:
VS2012 + .NET 4.5 + ASP.NET MVC 4 + ActiveReports 10

实现步骤:
1、创建工程,在Visual Studio 2012中创建一个 ASP.NET MVC 4 + .NET 4.5 的工程。
2、添加报表,在工程中添加一个 RDL 报表模板,并设置数据源类型为 Object 数据源,然后通过一个表格显示该数据。参考附件中的 CustomDataSource.rdlx 文件。
3、添加服务,在工程中添加一个【Web 服务】,然后切换到代码视图,修改该类继承的原始类型为 GrapeCity.ActiveReports.Web.ReportService。请参考附件中的 ActiveReportsService.asmx.cs 文件。
4、添加文件,从 C:\Users\用户名\Documents\GrapeCity Samples\ActiveReports 10\HTML5 Viewer\HTML5 Viewer 路径中将 css 文件夹下的文件拷贝到 MVC 工程的 Contents 目录下;将 Scripts 目录下的文件拷贝到MVC工程的Scripts目录下;将fonts文件夹拷贝到MVC工程的根目录下。
5、添加页面,在 Index.cshtml 文件中添加附件中对应文件的代码
6、修改RegisterRoutes,在Global.asax文件中找到RegisterRoutes,然后通过F12跳转到该方法,然后以下两行代码
            routes.IgnoreRoute("ActiveReports.ReportService.asmx/{*pathInfo}");
            routes.IgnoreRoute("{*allActiveReport}", new { allActiveReport = @".*\.ar10(/.*)?" });
7、修改RegisterBundles,为了防止MVC工程本身加载的JS与AR所需的JS文件冲突,可删除RegisterBundles方法中的全部代码
8、修改Web.config文件,这部操作与具体的IIS版本有关,如果在进行完以上操作之后运行工程出现错误,请删除Web.config文件中<system.webServer> <handlers>节点的以下代码,然后再进行测试
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

geodon@126.com 发表于 2016-8-26 18:34:36

你好,我们服务端如果使用JAVA web,有办法使用吗?

geodon@126.com 发表于 2016-8-26 18:35:41

我看现在服务端接口例子都是asp.net的webservice,而且webservice还必须要实现你们的类!

Lenka.Guo 发表于 2016-9-5 10:46:14

geodon@126.com 发表于 2016-8-26 18:34
你好,我们服务端如果使用JAVA web,有办法使用吗?

您好,如果是Java Web 使用的话,需要将报表服务部署到IIS 上之后, 在Java Web中通过Url 来调用报表服务即可。
页: [1]
查看完整版本: ActiveReports 在 MVC 中运行时绑定数据源