Grid++Report实现Web报表
来源:互联网 发布:python ma优化 编辑:程序博客网 时间:2024/05/29 01:55
最早接触报表是在机房收费系统中,那时候还是在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软件的帮助文档。才发现,原来我遇到的这些问题,帮助文档中都有说明。
所以说,这不禁让我想到了米老师语录中的那句话:多看帮助,少走弯路。有了这一次走投无路的情况下,才想起来的“帮助”,以后不管再遇见什么东西,都不会再忘记有“帮助”这一好东西。
0 0
- Grid++Report实现Web报表
- Asp.Net+Grid Report实现Web报表
- 使用报表grid++report
- grid++report子报表
- Unigui中用Grid++report生成pdf实现打印报表
- Grid++Report 报表动态使用
- Grid++Report 报表设计器
- grid report分组打印报表
- Grid++Report web
- AbisPlat框架整合Grid++Report报表
- Grid++Report 入手教程:制定模板报表
- Grid++Report报表开发工具介绍
- Grid++Report报表组件的特点
- Lazarus 中安装Grid++Report报表控件
- uniGUI中使用Grid++Report设计报表
- 使用Grid++report开发报表功能
- 机房收费之报表(Grid++Report)
- MVC框架引入grid++report报表
- 词干提取(stemming)和词形还原(lemmatization)比较
- 创建对象
- 关于centOS无法识别1920*1080分辨率的解决方法
- 【Solutions系列】在线关阀分析
- 布隆过滤器 (Bloom Filter) 详解
- Grid++Report实现Web报表
- 软件工程实现阶段
- 小白学算法2.7——堆排序
- iOS开发 - Bitcode适配指南
- 电商架构及搜索引擎
- JVM调优总结 -Xms -Xmx -Xmn -Xss
- ABAP选择屏幕权限控制
- 我的mpi学习实践
- 计算机技术领域当前的主流技术及其社会需求调查报告