【下載FastReport.Net最新版本】
FastReport.Net長期以來一直在提供插件——連接各種數據庫的連接器,這些插件允許用戶向報表設計器添加連接器以連接到所需的數據庫,創建這些插件連接器的目的是簡化連接到數據源的過程。 但是,使用這些插件有一個不便之處——必須先編譯它們。爲此,用戶必須首先從開發人員的數據庫站點下載第三方庫,但是,一旦編譯完插件,就可以隨意使用它。
FastReport現在通過Nuget包管理器以庫的形式分發這些連接器,對於.Net Framework 4應用程序和ASP .Net Core都是如此,現在不需要使用第三方庫來編譯插件。 使用這些庫的特性:要創建報表,需要使用設計器、插件、單獨的Report Designer程序。但是,使用已安裝的連接器庫,用戶需要從應用程序中調用設計器以在報表中使用這些連接器。 如果WinForms應用程序從代碼中調用報表設計器,那麼在.Net Core應用程序中就不可能實現,當然,還有用於Web開發報表的在線設計器。因此,必須首先創建一個WinForms應用程序,將所需的連接器安裝到其中並調用報表設計器。或者可以使用FastReport附帶的已編譯的Designer.exe應用程序,但在這種情況下,受支持的DBMS列表將受到限制(支持MS SQL)。 現在通過一個例子來了解一下:創建一個測試WinForms應用程序並向其添加FastReport.Net庫,並從manager Nuget安裝連接器。
該圖顯示有數據庫的連接器:MsSql,MySql,Postgres,SQLite,Json,MongoDB,RavenDB,嘗試連接到Json數據源,從Nuget安裝適當的連接器。在表單上,爲它添加一個按鈕和以下代碼:
using FastReport; using FastReport.Data; using FastReport.Utils; … private void button1_Click(object sender, EventArgs e) { new JsonAssemblyInitializer(); Report report = new Report(); report.Design(); }
在按鈕單擊事件處理程序的第一行中,初始化添加的JSON連接器,然後創建一個報表對象並調用設計器。在設計器中,創建了一個新的數據連接。在可用的連接器中,看到了添加的JSON,選擇它並使用.json擴展名設置數據文件的路徑。
創建報表模板並保存,現在,在按鈕的代碼中,替換該行:
report.Design();
改爲:
report.Load(@"TestJsonConnection.frx"); report.Show();
在這裏,指定之前創建的報表文件的路徑,運行報表。使用兩個庫連接器——從Nuget安裝庫,並在代碼中初始化它。但是,如果它來自ASP .Net Core應用程序,並非如此簡單。
首先,創建一份報表。爲此,需要從代碼中運行設計器,在Web項目中,這是不可能實現。將創建一個WinForms應用程序,專門用於運行設計器,將插件安裝在單獨的ReportDesigner中並在其中創建報表。其次,除了初始化連接器庫之外,還需要指定連接字符串,創建表以及添加與報表的連接:
JsonDataConnection conn = new JsonDataConnection(); conn.ConnectionString = "Json=\"K:\\Documents\\nwind.json\""; conn.CreateAllTables(); report.Dictionary.Connections.Add(conn);
通過操作,這與使用第三方庫連接數據庫,因此,在.Net Core的情況下,並非所有內容都是如此明確。但在.Net Framework 4應用程序中,優於第三方庫的優勢顯而易見。