溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET水晶報表Push模式顯示多個表的數(shù)據(jù)的方法

發(fā)布時間:2021-06-16 13:57:43 來源:億速云 閱讀:177 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“ASP.NET水晶報表Push模式顯示多個表的數(shù)據(jù)的方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

很多ASP.NET水晶報表示例教程只能顯示出一個表的數(shù)據(jù)。一個很常見的描述是,如果想使用PUSH模式在報表中顯示多個表的數(shù)據(jù),就會有“登錄失敗”的問題。其實就在于,這些示例將DataSet與數(shù)據(jù)庫的關(guān)系描述的很緊密,給人一種錯覺,DataSet就要安排的和數(shù)據(jù)庫的結(jié)構(gòu)相同,其實呢,PUSH模式中的DataSet和數(shù)據(jù)庫是一點關(guān)系都沒有的,之所以要創(chuàng)建這個DataSet的原因,就是為了讓你能夠編輯RPT模版。***顯示出來的數(shù)據(jù),全都是你在后臺代碼中調(diào)用SetDataSource給它的。與設計時的數(shù)據(jù)庫沒有任何關(guān)系的。因此原示例中創(chuàng)建DataSet部分應該修改為以下步驟:

如何實現(xiàn)ASP.NET水晶報表Push模式顯示多個表的數(shù)據(jù)

1、  在解決方案資源管理器中添加新項,選擇數(shù)據(jù)集,設置文件名,確定。

2、  在數(shù)據(jù)集設計器中單擊右鍵,選擇“新建element”,這個步驟,實際上就是添加了一個表。如圖,設置表名。

ASP.NET水晶報表Push模式顯示多個表的數(shù)據(jù)的方法

3、  如圖所示,在新建出的表中添加相應的字段,這里的字段名和字段類型,一定要和你想要顯示的那個字段相符。否則可能會出問題。

ASP.NET水晶報表Push模式顯示多個表的數(shù)據(jù)的方法

4、  剩下的步驟和原教程中相同,在數(shù)據(jù)庫專家中選擇“項目數(shù)據(jù)-ADO.NET數(shù)據(jù)集”,下面就可以看到你剛才新建的數(shù)據(jù)庫及表。將該表選擇到“選定表”中。并按照你的意愿創(chuàng)建報表模版。在后臺代碼中用你從數(shù)據(jù)庫中取出的DataSet填充到報表中。OK!

附網(wǎng)上原示例內(nèi)容:

ASP.NET水晶報表:從數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)集對象  

1.在項目中新建一個架構(gòu)文件:  

a.在解決方案資源管理器中,右擊項目名,指向“添加”,然后單擊“添加新項”。 

b.在“添加新項”對話框的“類別”區(qū)域,展開文件夾,然后選擇“數(shù)據(jù)”。  

c.在“模板”區(qū)域選擇“數(shù)據(jù)集”。  

d.接受默認名稱 Dataset1.xsd。  

這就創(chuàng)建了一個新的架構(gòu)文件 (Dataset1.xsd),以后將用它來生成強類型數(shù)據(jù)集。該架構(gòu)文件將顯示在 ADO.NET 數(shù)據(jù)集設計器中。 

2.指定數(shù)據(jù)庫位置:  

a.在服務器資源管理器中,右擊“數(shù)據(jù)連接”并選擇“添加連接”。  

b.在“數(shù)據(jù)鏈接屬性”對話框中,單擊“提供程序”選項卡,然后選擇一個提供程序(例如 Microsoft OLE DB Provider for SQL Server)。  

c.單擊“連接”選項卡,然后指定您的數(shù)據(jù)庫所在位置。在所需位置輸入服務器和登錄信息。  

d.單擊“確定”按鈕。  

此時,您的數(shù)據(jù)庫及其表和字段就出現(xiàn)在服務器資源管理器的“數(shù)據(jù)連接”節(jié)點下面。 

3.在解決方案資源管理器中,雙擊 Dataset1.xsd (如果它尚不是活動視圖)。 

Dataset1.xsd 現(xiàn)在應顯示在“數(shù)據(jù)集”選項卡中。 

4.若要為數(shù)據(jù)集建立架構(gòu),請將需要的表從服務器資源管理器中拖動到 Dataset1.xsd 的“數(shù)據(jù)集”選項卡上。 

5.單擊“保存 Dataset1.xsd”來保存“Dataset1.xsd”文件。 

6.在“生成”菜單上,單擊“生成”為項目生成數(shù)據(jù)集對象。 

ADO.NET 數(shù)據(jù)集對象提供數(shù)據(jù)的描述,從它可以向 Crystal report 添加表。使用 Crystal Report Designer 中的“數(shù)據(jù)庫專家”從 ADO.NET 數(shù)據(jù)集對象添加表。 

請在使用“報表專家”創(chuàng)建新報表時調(diào)用“數(shù)據(jù)庫專家”。或者,要從一個已經(jīng)使用 ADO.NET 建立好的報表中訪問“數(shù)據(jù)庫專家”,請在 Report Designer 中右擊,指向“數(shù)據(jù)庫”,然后單擊“添加/刪除數(shù)據(jù)庫”。

ASP.NET水晶報表:將報表連接到 ADO.NET 數(shù)據(jù)集對象 

1.在“數(shù)據(jù)庫專家”中,展開“項目數(shù)據(jù)”文件夾。 

2.展開“ADO.NET 數(shù)據(jù)集”文件夾。 

3.選擇所需數(shù)據(jù)集對象。 

例如,如果當時使用的是從項目“WindowsApplication1”的架構(gòu)文件“Dataset1.xsd”中生成的數(shù)據(jù)集對象,則應該選擇“WindowsApplication1.Dataset1”。 

4.選擇要向報表中添加的表,和使用其他數(shù)據(jù)源一樣。 

動態(tài)改變數(shù)據(jù)源的代碼

Dim dsdataSet As New DataSet()

Dim oRpt As New rptClient()   '已建立的報表rptClient

請讀者自行填充數(shù)據(jù)集dsdataSet 

'使用“報表引擎”對象模型將填充的數(shù)據(jù)集,傳遞給報表

oRpt.SetDataSource(dsdataSet.Tables(0))

' 將帶有數(shù)據(jù)的報表對象綁定到 Windows 窗體查看器,rptVew(CrystalReportViewer控件)

rptVew.ReportSource = oRpt

“ASP.NET水晶報表Push模式顯示多個表的數(shù)據(jù)的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI