简单实现Crystal Report的动态加载
来源:互联网 发布:网络宣传与洞察力 编辑:程序博客网 时间:2024/04/20 06:50
Crystal reprot 为我们开发报表提供了很大的便利,但是它不能实现runtime时数据自定义,给开发带来了不完美。不过虽然我们不能runtime自定义数据,但我们还是可以实现runtime自定义加载报表。
要实现自定义加载报表,要使用推模式报表生成。(拉模式我没有试过,哪位网友要是实现了可以告诉我:) )
回顾一下推模式的操作过程,在利用生成报表的那一步中,我们选择空报表。这个时候在解决方案中生成一个Report.rpt(假定是这个名字),但是我们在方案目录下,我们还可以看到一个同名的Report.cs。这个文件就是我们这次讨论的关键。我们先来看看这个文件有什么。
namespace WebApp_Crystal_Dynametic {
using System;
using System.ComponentModel;
using CrystalDecisions.Shared;
using CrystalDecisions.ReportSource;
using CrystalDecisions.CrystalReports.Engine;
public class Report : ReportClass {
public Report() {
}
public override string ResourceName {
get {
return "Report.rpt";
}
}
……
看到红色高亮的程序吗?当我们向Report推数据的时候Report类如何把数据绑定到合适报表中呢,就是靠这个代码了!既然如此,那么我们如果能够动态改变它的返回值就可以动态加载报表了,让我们来试试。下面是我修改后的代码:
namespace WebApp_Crystal_Dynametic {
using System;
using System.ComponentModel;
using CrystalDecisions.Shared;
using CrystalDecisions.ReportSource;
using CrystalDecisions.CrystalReports.Engine;
public class Report : ReportClass {
string resourcename = "Report.rpt";
public Report() {
}
public override string ResourceName {
get {
return resourcename;
}
set {
resourcename = value;
}
}
……
好现在我们再新建几个不同的报表(都是推模式的),在程序中我添加了几个button,不同的button事件中加载不同的报表,并把不同的数据推向报表。程序编译运行通过(window server 2003 + vs.net 2003)。
这样我们只要在程序中使用plugin模式,就可以在不改变源代码的情况下为程序添加新的报表文件。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- 简单实现Crystal Report的动态加载
- 简单实现Crystal Report的动态加载
- 《简单实现Crystal Report动态加载》补遗
- 关于Crystal Report动态分组的使用
- crystal report排序功能的实现
- Crystal Report的使用
- crystal report 的安装
- Crystal Report的setdatasource出错
- Crystal Report 的一些问题?
- 为 Crystal Report 提供动态数据源
- crystal report
- Crystal Report
- 一个reportviewer 动态加载不同的report
- crystal report 加载报表失败,系统找不到指定的路径 解决方法
- Crystal report viewer 控件TCrystalActiveXReportViewer的使用
- 转来的Crystal Report制作
- 解决crystal report 的打印次数限制
- Crystal Report 水晶报表如何实现类似表格单元格合并的功能
- 学习ASP.NET的体会(一)
- 2003-2005年的微软开发工具 (一)
- 一个克隆对象的C#基类
- Windows Forms XP style on VS.NET
- 如何用CSC.exe来编译Visual C#的代码文件
- 简单实现Crystal Report的动态加载
- 用C#.net轻松制作不规则窗体(附源码)
- 书评:《C# Primer》 by Joe Casad
- 在.NET的Windows桌面应用中使用Amazon的Web Services
- 在SQL Server中保存和输出任意类型的文件
- 请多提点,请多指教
- GDI+ 一个初级的使用GDI+开发的颜色拾取器用户控件
- 利用Jakarta Commons Lang简化Java
- NetPerf与网络性能测试