简单实现Crystal Report的动态加载
简单实现Crystal Report的动态加载 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";
}
}
……
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;
}
}
……