簡單實現Crystal Report的動態載入 (轉)
crystal reprot 為我們開發報表提供了很大的便利,但是它不能實現runtime時資料自定義,給開發帶來了不完美。不過雖然我們不能runtime自定義資料,但我們還是可以實現runtime自定義載入報表。
要實現自定義載入報表,要使用推報表生成。(拉模式我沒有試過,哪位網友要是實現了可以告訴我:) )
回顧一下推模式的操作過程,在利用生成報表的那一步中,我們選擇空報表。這個時候在解決方案中生成一個report.rpt(假定是這個名字),但是我們在方案目錄下,我們還可以看到一個同名的report.cs。這個就是我們這次討論的關鍵。我們先來看看這個檔案有什麼。
namespace App_Crystal_Dynametic {
using System;
using System.ComponentModel;
using CrystalDecisions.Shared;
using CrystalDecisions.Report;
using CrystalDecisions.CrystalReports.Engine;
public class Report : ReportClass {
public Report() {
}
public overr 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 + vs 2003)。
這樣我們只要在程式中使用plugin模式,就可以在不改變的情況下為程式新增新的報表檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982161/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js實現的動態載入css檔案簡單介紹JSCSS
- 實現js檔案動態載入的幾種方式簡單介紹JS
- iOS 實現簡單的列表預載入iOS
- Crystal report trainingAI
- 使用動態SQL語句實現簡單的行列轉置(動態產生列)SQL
- 動態載入js檔案簡單介紹JS
- Python《成功破解簡單的 動態載入 的爬蟲》Python爬蟲
- js動態載入實現提高網頁載入速度JS網頁
- 優雅的實現動態載入 css、jsCSSJS
- jQuery動態載入js檔案簡單介紹jQueryJS
- js動態載入js檔案簡單介紹JS
- CSS並不簡單--結合SVG實現簡單的載入動畫CSSSVG動畫
- 系統引導載入器的簡單實現
- jquery實現的圖片預載入簡單介紹jQuery
- 原生JS實現最簡單的圖片懶載入JS
- 原生 JS 實現最簡單的圖片懶載入JS
- UNIX下C++實現動態載入物件C++物件
- 動態載入css方法實現和深入解析CSS
- jquery如何實現動態載入CSS檔案jQueryCSS
- Crystal Report(水晶報表)的報表封裝成VB的DLL (轉)封裝
- vue 實現tab切換動態載入不同的元件Vue元件
- 按照順序動態載入js檔案簡單介紹JS
- Js使用水桶簡單方便實現同步載入JS
- 輕鬆實現SINDOWS 98動態選單 (轉)
- 動態載入程式集(三) (轉)
- java實現簡單的單點登入Java
- AngularJs動態載入模組和依賴注入簡單介紹AngularJS依賴注入
- Nginx實現簡單的負載均衡Nginx負載
- 藉助 Webpack 靜態分析能力實現程式碼動態載入Web
- web前端入門到實戰:非同步載入CSS最簡單的實現方式Web前端非同步CSS
- .NET 動態載入程式集 (一) (轉)
- Umi + qiankun 實現動態載入子應用路由路由
- 實現js檔案動態載入程式碼例項JS
- Spring Cloud Nacos實現動態配置載入的原始碼分析SpringCloud原始碼
- javascript實現的動態載入css檔案程式碼例項JavaScriptCSS
- js實現的動態載入css外部樣式表程式碼JSCSS
- 利用html5實現的loadding動態載入效果HTML
- jQuery實現的非同步動態載入css和js檔案jQuery非同步CSSJS