如何在報表設計器FastReport.Net中使用查詢編輯器Active Query Builder

下載FastReport.Net最新版本

FastReport.Net爲其報表設計器提供了自定義功能,在本文中,將介紹如何使用Active Query Builder替換內置SQL查詢編輯器。

  1. 首先,下載最新版本的.Net Active Query Builder,藉助下載的安裝程序安裝庫。

  2. 創建WindowsForms應用程序,項目中添加對Active Query Builder庫的引用。需要以下library(庫),在已安裝程序的文件夾中找到它們(C:\ Program Files \ ActiveDBSoft \ Active Query Builder 3 .NET \ assemblies):

    ActiveQueryBuilder.AdvantageMetadataProvider;
    ActiveQueryBuilder.Core;
    ActiveQueryBuilder.DB2MetadataProvider;
    ActiveQueryBuilder.FirebirdMetadataProvider;
    ActiveQueryBuilder.MSSQLCEMetadataProvider;
    ActiveQueryBuilder.InformixMetadataProvider;
    ActiveQueryBuilder.MSSQLMetadataProvider;
    ActiveQueryBuilder.MySQLMetadataProvider;
    ActiveQueryBuilder.ODBCMetadataProvider;
    ActiveQueryBuilder.OLEDBMetadataProvider;
    ActiveQueryBuilder.OracleMetadataProvider;
    ActiveQueryBuilder.OracleNativeMetadataProvider;
    ActiveQueryBuilder.PostgreSQLMetadataProvider;
    ActiveQueryBuilder.SQLiteMetadataProvider;
    ActiveQueryBuilder.SybaseMetadataProvider;
    ActiveQueryBuilder.UniversalMetadataProvider;
    ActiveQueryBuilder.View;
    ActiveQueryBuilder.View.WinForms;
    ActiveQueryBuilder.View.WPF;
    ActiveQueryBuilder.VistaDB5MetadataProvider;

其他庫:

FastReport;
FastReport.Bars;
FastReport.Editor;

現在將文件添加到項目中,它是一個使用ActiveQueryBuilder的插件。位置:C:\ Program Files(x86)\ FastReports \ FastReport.Net \ Extras \ Misc \ ActiveQueryBuilder \ ActiveQBForm.cs。要執行此操作,請在解決方案資源管理器中右鍵單擊項目名稱,然後選擇Add——>Existing Item…。由於有演示應用程序,因此表單只包含一個按鈕:

AQB

現在創建按鈕單擊的事件處理程序,雙擊它:

using FastReport.Forms;
using FastReport.Design;
using FastReport;
…
private void button1_Click(object sender, EventArgs e)
 {
 Report report = new Report();
 FastReport.Utils.Config.DesignerSettings.CustomQueryBuilder += new FastReport.Design.CustomQueryBuilderEventHandler(DesignerSettings_CustomQueryBuilder);
 report.Design();
 }
 
 private void DesignerSettings_CustomQueryBuilder(object sender, CustomQueryBuilderEventArgs e)
 {
 using (ActiveQBForm form = new ActiveQBForm())
 {
 form.Connection = e.Connection;
 form.SQL = e.SQL;
 if (form.ShowDialog() == DialogResult.OK)
 e.SQL = form.SQL;
 }
 }

單擊該按鈕時,將創建一個報表對象,然後覆蓋報表構建器調用方,並導向report designer。下面,爲報表生成器創建了一個自定義報表生成器,只需調用先前添加到項目中的ActiveQBForm對象,現在啓動應用程序,然後查看報表設計器。如果要編輯現有報表,則在創建報表對象後,需要將報表加載到其中:

report.Load("С:/Program Files (x86)/FastReports/FastReport.Net/Demos/Reports/Image.frx");

現在使用添加圖標將數據源添加到報表中:

AQB

創建一個支持SQL語言的DBMS連接,以繼續使用SQL查詢構建器。例如,連接到Access數據庫,在創建新數據源的嚮導的下一步中,要求從數據庫中選擇所需的表。

AQB

在右下角有一個“Add SQL query ...”按鈕,它啓動了查詢創建嚮導。在創建查詢的第一步,需要爲新視圖指定一個名稱,該名稱爲正在創建的應用程序。

AQB

第二步,可以手動輸入SQL查詢的文本。

AQB

在右下角,我們會看到將啓動報表生成器的“Query Builder...”按鈕,點擊它:

AQB

在ActiveQueryBuilder的基礎上創建的報表生成器,要將表添加到工作空間,請將其從右側的數據區域拖出。或者右鍵單擊構建器的工作區,然後從上下文菜單中選擇“Add”:

AQB

按住Ctrl鍵,從數據庫中選擇所需的表:

AQB

之後,單擊“Add Selected Objects”按鈕,並在構建器中查看關聯的表:

AQB

在窗口的底部,可以看到自動生成的SQL查詢文本,並在結果選項卡上顯示查詢的結果。如果對創建的查詢感到滿意,要接受它,請單擊窗口頂部的綠×××標。要取消,請選擇紅×××標。查詢嚮導發送在構建器中創建的SQL查詢文本:

AQB

單擊“Next”按鈕完成查詢創建,最後完成,完成了數據源的創建,現在在報表設計器中有一個數據源:

AQB

所以使用插件比標準的SQL查詢構建器更加便捷。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章