




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、閱讀本文需要有XML解析及ADO.net相關(guān)經(jīng)驗。本文編譯器使用VisualStudio2005數(shù)據(jù)庫采用XML格式ReportView版本為版本為2.0一、水晶報表的缺陷CrystalRepotrs的功能固然很強大,但是對我們寫程序的人來說,是否支持動態(tài)生成才是最重要的。如果報表只能靜態(tài)生成再嵌入到程序中,實在有些沒意思。不巧的是強大的水晶報表這一點做的很不好,我們可以在程序中動態(tài)修改數(shù)據(jù)源,也可以動態(tài)修改文本和字段,但是報表的一大特色,數(shù)據(jù)圖表,卻只能靜態(tài)生成。也就是說,假如我設計報表時添加了一個圖表,用戶希望能在多個字段中選擇自己想顯示的,動態(tài)顯示到圖表中,水晶報表就做不到。對它來說,我
2、們至多只能在程序中得到一張位圖,這樣就沒有意義了。這個時候我發(fā)現(xiàn)了ReportViewer,它用來顯示RDLC語言表述的報表。RDLC最初被用在SQLServerforXML上。它實際上是一個XML文本,這就意味著我們在程序中很容易更改它的構(gòu)架。ReportViewer是RDLC的瀏覽器,本身沒什么好說的,需要注意的是它的數(shù)據(jù)源必須是DataTable對象。、結(jié)構(gòu)模型猛的一看有點復雜呵呵,其實還是挺簡單的。數(shù)據(jù)源可以是傳統(tǒng)數(shù)據(jù)庫,也可以是XML表格DataAdapter及Connection等用來連接傳統(tǒng)的數(shù)據(jù)庫DataSet用來存儲數(shù)據(jù),同時可以直接操作XML文件BindingSource利
3、用DateSet來填充BindingSource,這一步數(shù)據(jù)中轉(zhuǎn)邏輯上有點多余,但是必不可少ReportDataSource利用BindingSource來填充ReportDataSource,ReportViewer利用ReportDataSource填充的數(shù)據(jù)及指定給它的RDLC報表文件來顯示報表三、示例代碼請大家注意:這里我呈現(xiàn)給大家的只是如何實現(xiàn)報表,報表本身的制作及RDLC描述語言不在討論范圍。ADO.net同樣不在討論范圍,感興趣的讀者可以參考這篇文章:用VC輕松實現(xiàn)ADO.net。如果按照MSDN上介紹的步驟,可以在VB或C#等語言中實現(xiàn)報表顯示,但不能用在VC中,因為向?qū)Э赡墚a(chǎn)
4、生中文變量,而VC目前還不支持中文變量。請使用VC的讀者按照我介紹的步驟來實現(xiàn)。1.制作報表新建一個空項目,在解決方案資源管理器中右鍵點項目名,添加新建項,找到Report,起個名字,點確定。具體的制作不在這里說了,請參考相關(guān)的文章,或者下載我的示例代碼,里面有兩個做好的報表文件。2制作XML數(shù)據(jù)庫文件ADO.net連接傳統(tǒng)數(shù)據(jù)庫這里就不多說了,參見上面那篇鏈接文章。方法1:安裝了SQLServerforXML的話,直接建立數(shù)據(jù)庫模型生成XML文件即可。方法2:如果沒有安裝SQLServerforXML,需要繞個彎子:1.先使用SQLServer或其他數(shù)據(jù)庫建立傳統(tǒng)的數(shù)據(jù)庫模型。2寫個臨時程序
5、,利用ADO.net將數(shù)據(jù)庫模型導入DataSet中。3.利用DataSet:WriteXml(文件名”);的方法生成XML數(shù)據(jù)庫文件。方法3:同樣沒有安裝SQLServerforXML時:先寫一個程序,在DataSet中建立數(shù)據(jù)庫模型,當然編程建立要比方法1中的向?qū)Ы⒙闊┮恍?。利用DataSet:WriteXml(文件名”);的方法生成XML數(shù)據(jù)庫文件。連接數(shù)據(jù)庫ADO.net不再多說。連接文件文件一系列的數(shù)據(jù)填充根據(jù)設置注意,表名要冋創(chuàng)建報表時用的相冋根據(jù)設置根據(jù)設置控件的數(shù)據(jù)源,控件最終用來顯示報表多個報表窗口可以使用同一個數(shù)據(jù)源連接要顯示的報表文件文件顯示報表報表的動態(tài)修改對于普通的
6、數(shù)據(jù),只需修改DataSet即可假設數(shù)據(jù)來自控件刷新一下扌艮表對于圖表之類的數(shù)據(jù),需解析RDLC文件,修改之,然后調(diào)用RefreshReport()。由于其格式是XML文本,故比較容易,這方面不再多說,感興趣的讀者可以自己解析一下。四、示例程序在示例程序中我提供了一個記賬本功能的小程序,使用XML數(shù)據(jù)庫文件,兩張RDLC報表文件。由于時間關(guān)系,沒有去做RDLC文件解析,請大家見諒。report.exe主程序ReportViewer.exe沒有安裝ReportViewer的客戶機需要安裝此文件,ReportViewerLP.exe是中文包。ngen.exe動態(tài)報表的生成速度比較慢,有個解決辦法,在命令行方式下敲入ngeninstallreport.exe回車,可以將程序及其依賴項編譯成機器碼并安裝到本機全局映像中去,從而提高運行效率。冊U除前記得ngenuninstallreport.exe一下。xml文件及rdlc文件一個是數(shù)據(jù)庫文件,一個是報表文件,均是XML文本格式,可以隨意打開瀏覽編輯。運行效果:11=1Q更新1數(shù)據(jù)報卻數(shù)據(jù)分瘀查找丨下一絹3HI*O13I3.m0JH-I50%.查找丨下一絹2006年開銷記錄20073M20073MjF:肚旦DUJraw1Slidvm1lOQLJ3M13加月rjKiri-woi.DIE!YS1lLelJY3W-iikhJiEDeu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025餐廳員工雇傭合同范本:個體雇傭店員合同協(xié)議
- 2025吊車司機安全合同協(xié)議書
- 人教版PEP2024-2025四年級英語下冊期末試卷(含答案含聽力原文無音頻)
- 2025型材購銷合同范本匯編
- 2025商業(yè)房產(chǎn)預租合同模板
- 2025家居銷售合同模板
- 2025智晟人力資源公司與通許局農(nóng)電工再簽勞動合同
- 2025辦公設備及附屬設施租賃合同
- 《國防教育課》課件
- 《智慧交通建設之路》課件
- 演出經(jīng)紀人員資格備考資料2025
- DZ∕T 0227-2010 地質(zhì)巖心鉆探規(guī)程(正式版)
- 小學的古詩80首(帶拼音版)
- 世界現(xiàn)代史(上冊) 馬工程 02
- 第18章氫和稀有氣體
- 有限空間作業(yè)安全培訓(飼料廠)課件
- 分 包 工 程 量 確 認 單
- 產(chǎn)后抑郁的護理共45張課件
- T∕CSRME 016-2021 城市地下空間網(wǎng)絡化拓建工程技術(shù)規(guī)范
- 員工個人信息保護合規(guī)要點清單
- 山東省危廢處理名錄
評論
0/150
提交評論