KearneyKang 发表于 2020-4-2 14:07:38

如何在MVC框架中集成ActiveReportsV14

本帖最后由 KearneyKang 于 2020-5-25 11:27 编辑

首先我们新建一个MVC的新的空的项目新建的空的MVC的项目如下:ASP.NET MVC 添加需要的引用:GrapeCity.ActiveReports.Aspnet.Viewer如果是.Net Core 项目安装:GrapeCity.ActiveReports.AspnetCore.Viewer在项目中,添加新建项,在新建项的选择栏中选择>>OWINStartupClass修改StartUp1的配置信息:public class Startup1
    {
      public static string EmbeddedReportsPrefix = "XXXX";
      public void Configuration(IAppBuilder app)
      {
            app.UseReporting(settings =>
            {
                settings.UseFileStore(new DirectoryInfo(String.Format(@"{0}.\Reports\", System.Web.HttpRuntime.AppDomainAppPath)));
            });
            RouteTable.Routes.RouteExistingFiles = true;
      }
}
添加一个新的Reports文件夹,存放报表添加引用文件,我这是新建了一个scripts文件夹然后把要用到的CSS和JS文件放在文件中,其中jsViewer.min.css、jsViewer.min.css在该路径下
下载ActiveReports14之后,在JS资源文件中就有需要的引用修改MVC中Views中自带的Index页面的内容@{
    ViewBag.Title = "Home Page";
}

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <!--Add the references to these files to the target HTML page-->
    <link rel="stylesheet" href="https://cdn.materialdesignicons.com/2.4.85/css/materialdesignicons.min.css">
    <link rel="stylesheet" href="https://fonts.cat.net/css?family=Open+Sans:400,300,600,700" type="text/css">
    <link rel="stylesheet" href="scripts/jsViewer.min.css" type="text/css">
    <link href="scripts/index.css" rel="stylesheet" />
    <script src="scripts/jsViewer.min.js"></script>
</head>
<body>
    <!--Add the DIV element that will contain the JSViewer in the target HTML page-->
    <div style="width: 100%; overflow-x: hidden">
      <div style="float:right;width:100% ;height:800px" id="viewerContainer">
      </div>
    </div>
</body>
</html>
<!--Add the code that initializes and passes the parameters in the JSViewer instance. The code might vary depending on the technology used to develop the JSViewer component. The example of code for the pure javascript component:-->
<script type="text/javascript">

    var viewer = GrapeCity.ActiveReports.JSViewer.create({
      element: '#viewerContainer',
      reportID: 'RdlReport1.rdlx', // the id of the report to display
      availableExports: ['Xml', 'Pdf', 'Excel'],
      reportService: {}
      // other properties
    });
</script>
现在直接运行项目,会报一个No license的错,这是由于项目中缺失license文件导致的现在开始添加License文件
首先添加一个新的Web页面拖入一个ActiveReports14的Webviewer在Web窗体的拆分页面就会自动是生成一个license文件这样一个License文件就生成好了

然后运行生成,如果运行 之后还是报 “Cannotobtain report info”的错误这是由于项目中的Global.asax文件中多了一个配置路径信息导致的。注释或者删除都行现在运行展示:

wengMQ 发表于 2020-10-20 20:47:08

:)

KearneyKang 发表于 2020-10-22 17:39:15

:loveliness::loveliness::loveliness::loveliness::loveliness::loveliness:
页: [1]
查看完整版本: 如何在MVC框架中集成ActiveReportsV14