原創|使用教程|編輯:鄭恭琳|2020-01-15 14:20:37.817|閱讀 268 次
概述:大多數報表顯示一些數據。通常,此數據是從數據庫獲得的。因此,報表具有到數據源的連接,以便具有可用表和字段以及數據本身的列表。但是,如果在編寫報表時,您只有一個本地數據庫,并且您在報表中創建了到該數據庫的連接。這樣,報表將無法正常工作。我們需要有效的連接。解決這種情況的方法有兩種:使用用戶程序中的數據源,或替換報表中的連接線。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
大多數報表顯示一些數據。通常,此數據是從數據庫獲得的。因此,報表具有到數據源的連接,以便具有可用表和字段以及數據本身的列表。但是,如果在編寫報表時,您只有一個本地數據庫,并且您在報表中創建了到該數據庫的連接。這樣,報表將無法正常工作。我們需要有效的連接。解決這種情況的方法有兩種:使用用戶程序中的數據源,或替換報表中的連接線。
第一種方法是眾所周知的。您需要在應用程序中創建連接,然后登錄到報表。然后,在設計報表時,可以選擇此別名來源。一方面,這很方便,因為更改連接器不會影響報表。無論報表從何處獲取數據,只要表和字段名稱、數據類型和模板中提供的數據類型相同即可。這種方法的缺點是沒有用戶應用程序就無法設計報表。畢竟,連接只是在其中。報表開發人員可能沒有任何用戶連接到該應用程序。在這種情況下,內部連接到報表中的數據將是適當的。
因此,讓我們看一下如何輕松地使用內部連接替換現有報表的連接。當然,該連接必須位于同一數據庫以及報表中。只需為其設置另一個位置。
對于此應用程序,您需要添加對庫的引用:FastReport.dll和FastReport.JsonDataConnection.dll。在目錄FastReport.net中,有安裝文件夾ExtrasConnectionsFastReport.Json。您需要組裝項目。然后,您獲得了必要的庫。將它們添加到項目引用中。還有一個替代連接代碼:
using FastReport; using FastReport.Utils; using FastReport.Data; private void Button1_Click(object sender, EventArgs e) { RegisteredObjects.AddConnection(typeof(JsonDataConnection)); Report report = new Report(); JsonDataConnection connection = new JsonDataConnection(); connection.ConnectionString = "Json=../../App_Data/nwind.json"; connection.CreateAllTables(); report.Dictionary.Connections.Add(connection); report.RegisterData(connection.DataSet); report.Load("../../App_Data/json.frx"); report.Prepare(); report.Show(); }
首先,我們將連接對象注冊到Json數據庫。接下來,創建一個報表對象的實例。創建JSON連接對象的副本。我們設置其ConnectionString屬性——基本上只是指向文件的鏈接。在我們的例子中,文件位于項目的App_Data文件夾中。CreateAllTables函數從源中加載所有表。
接下來,我們需要將創建的連接添加到報表的連接集合中,并在報表中注冊數據源。
現在,重要的是下載報表模板。如果在添加到報表連接的集合之前進行連接,則帶有替換的技巧將不起作用。下載模板后,您需要準備一份報表到顯示屏,然后顯示它。
結果,我們建立了一個報表,該數據源最初是建立在另一條連接線上的。因此,我們可以替換任何記錄中的連接字符串,而不必擔心報表中指定路徑上的數據庫。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn