Grid++Report实现Web报表-阿里云开发者社区

开发者社区> you一年> 正文

Grid++Report实现Web报表

简介: <span style="font-family:楷体; font-family:楷体; font-size:19px; line-height:27px; widows:auto">     最早接触报表是在机房收费系统中,那时候还是在C/S模式下,所以可以直接在窗体上添加报表。而现在,已经转战B/S模式下。本篇博客将介绍如何实现Web报表。</span> <div style="fo
+关注继续查看
     最早接触报表是在机房收费系统中,那时候还是在C/S模式下,所以可以直接在窗体上添加报表。而现在,已经转战B/S模式下。本篇博客将介绍如何实现Web报表。
    【需求说明】
    在我们的生活中,表格也是无处不在,清晰而有条理。在这次的项目中,也需要在浏览器中直接打印报表(非IE打印)与导出报表,让用户使用更安全。
    【开发环境】
    整个项目是B/S模式下的,前台采用的MVC模式。开发中的软件:VS2012,Grid++Report5.0
    【实现步骤】
    1.首先,我们可以先在报表软件下制作好自己需要的模板。在此,就不再写下详细步骤。参考博客推荐:制作报表详细教程
    2.导入Grid++Report官方提供三个文件,分别是:ReportData.cs、MssqlReportData.cs、CreateControl.js
    3.导入制作好的报表模板文件
    4.在Controller下添加控制器,VS2012会自动帮我们生成一些代码。
    5.在生成的代码中,选中ActionResult,直接选择添加视图。
    6.因为我们直接浏览的网页,要使报表在网页下显示,还需要添加一个aspx视图页。在aspx页面加载的时候,就从数据库中插叙,获取报表所需要显示的内容,数据格式规定为XML数据。
    【具体代码】
Controller:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
 
namespace LFBidSystem.Controllers
{
    public class RaterSignController : Controller
    {
        //
        // GET: /Test/
 
        public ActionResult RaterSign()
        {
            return View();
        }
 
    }
}
View:
@{
    ViewBag.Title = "RaterSign";
}
<script src="../../Scripts/CreateControl.js" type="text/javascript"></script>
<script type="text/javascript">
    CreateDisplayViewerEx("100%", "100%", "../../Content/grf/LFCGPW.grf", "", true, "");
</script>
aspx:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ Page Language="C#" %> 
<script runat="server">  
    protected void Page_Load(object sender, EventArgs e) 
    {
        string QuerySQL = string.Format("select * from T_SpecialistInfo");
        SqlXMLReportData.GenDetailData(this, QuerySQL); 
    }
 
</script> 
       【实现效果】
    【问题解决】
    常见问题1:网页上不显示报表。
    这个问题与Grid++report软件、浏览器有着直接关系。之前用的6.0的Report,后来问了问负责维护人事系统的,他们用的都是5.0的Report。所以,我又重新安装了。另外,这个软件需要安装插件,我安装的是5.8的插件。
    常见问题2:报表模板不能正常访问。
    具体页面如下:
    这是因为IIS7必须定义文件扩展名对应的 MIMIE 类型才能下载这种类型的文件。具体解决方案参考博客:MVC模式下报表问题解决
   常见问题3:页面报表显示不完整。
    这主要是网页布局问题,可以在网页布局代码上添加如下代码,报表就可以完整显示了。
 <style type="text/css">
html,body {
  margin:0;
  height:100%;
}
</style>  
    【学习心得】
    在这一实现过程,还是遇到了一系列的问题。之前都是在网上直接搜博客,博客也大都是提高班师哥师姐写的,后来遇到了其他问题,连官方提供的三个文件里封装好的代码,我都翻来翻去看了好几遍,也没有得到解决方案。
    就在我不知所措的时候,我看到了电脑桌面Grid++Report软件的帮助文档。才发现,原来我遇到的这些问题,帮助文档中都有说明。   
    所以说,这不禁让我想到了米老师语录中的那句话:多看帮助,少走弯路。有了这一次走投无路的情况下,才想起来的“帮助”,以后不管再遇见什么东西,都不会再忘记有“帮助”这一好东西。       



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ActiveReports 报表应用教程 (5)---解密电子商务领域首张电子发票的诞生(套打报表)
原文:ActiveReports 报表应用教程 (5)---解密电子商务领域首张电子发票的诞生(套打报表) 6月27日京东商城发布了中国电子商务领域首张电子发票,同时宣布相关系统正式上线,这标志着中国电子商务的步伐又向前迈出了重要的一步。
909 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9458 0
ActiveReports 报表应用教程 (9)---交互式报表之动态排序
原文:ActiveReports 报表应用教程 (9)---交互式报表之动态排序 在 ActiveReports 中除了提供对数据源进行排序的功能之外,还提供了最终用户排序功能,最终用户可以对报表进行区域内排序和整个数据源排序,结合数据钻取、过滤等功能可以让用户更方便地分析报表数据。
685 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10836 0
通过ZeppelinHub viewer来分享zeppelin的notebook和报表数据
最近有使用E-MapReduce的同学咨询如果将zeppelin中的表表数据进行共享。这里就介绍一下在Aliyun E-MapReduce的集群中使用ZeppelinHub来进行notebook和报表的分享。
6543 0
ASP.NET MVC 5使用CrystalReport(水晶报表)
原文:ASP.NET MVC 5使用CrystalReport(水晶报表)   http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_15.
1128 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13131 0
Flash 报表之 AreaChart
1.Flex 图表组件介绍 在Flex 中提供了一系列图表组件,可以使用图表或图形来显示数据 Flex 中可以把表格数据分为条形图表(Bar),饼行图表(Pie),折线图表(Line).   2.Flex 支持的坐标轴 CategoryAxis: 对应一组数组值到坐标轴上面。
702 0
+关注
92
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载