原創(chuàng)|使用教程|編輯:王香|2018-08-01 15:30:27.000|閱讀 664 次
概述:本文中介紹了如何使用Active Query Builder替換內(nèi)置SQL查詢編輯器。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
FastReport.Net為其報(bào)表設(shè)計(jì)器提供了自定義功能,在本文中,將介紹如何使用Active Query Builder替換內(nèi)置SQL查詢編輯器。
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;
現(xiàn)在將文件添加到項(xiàng)目中,它是一個(gè)使用ActiveQueryBuilder的插件。位置:C:\ Program Files(x86)\ FastReports \ FastReport.Net \ Extras \ Misc \ ActiveQueryBuilder \ ActiveQBForm.cs。要執(zhí)行此操作,請(qǐng)?jiān)诮鉀Q方案資源管理器中右鍵單擊項(xiàng)目名稱,然后選擇Add——>Existing Item…。由于有演示應(yīng)用程序,因此表單只包含一個(gè)按鈕:
現(xiàn)在創(chuàng)建按鈕單擊的事件處理程序,雙擊它:
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; } }
單擊該按鈕時(shí),將創(chuàng)建一個(gè)報(bào)表對(duì)象,然后覆蓋報(bào)表構(gòu)建器調(diào)用方,并導(dǎo)向report designer。下面,為報(bào)表生成器創(chuàng)建了一個(gè)自定義報(bào)表生成器,只需調(diào)用先前添加到項(xiàng)目中的ActiveQBForm對(duì)象,現(xiàn)在啟動(dòng)應(yīng)用程序,然后查看報(bào)表設(shè)計(jì)器。如果要編輯現(xiàn)有報(bào)表,則在創(chuàng)建報(bào)表對(duì)象后,需要將報(bào)表加載到其中:
report.Load("С:/Program Files (x86)/FastReports/FastReport.Net/Demos/Reports/Image.frx");
現(xiàn)在使用添加圖標(biāo)將數(shù)據(jù)源添加到報(bào)表中:
創(chuàng)建一個(gè)支持SQL語言的DBMS連接,以繼續(xù)使用SQL查詢構(gòu)建器。例如,連接到Access數(shù)據(jù)庫,在創(chuàng)建新數(shù)據(jù)源的向?qū)У南乱徊街校髲臄?shù)據(jù)庫中選擇所需的表。
在右下角有一個(gè)“Add SQL query ...”按鈕,它啟動(dòng)了查詢創(chuàng)建向?qū)АT趧?chuàng)建查詢的第一步,需要為新視圖指定一個(gè)名稱,該名稱為正在創(chuàng)建的應(yīng)用程序。
第二步,可以手動(dòng)輸入SQL查詢的文本。
在右下角,我們會(huì)看到將啟動(dòng)報(bào)表生成器的“Query Builder...”按鈕,點(diǎn)擊它:
在ActiveQueryBuilder的基礎(chǔ)上創(chuàng)建的報(bào)表生成器,要將表添加到工作空間,請(qǐng)將其從右側(cè)的數(shù)據(jù)區(qū)域拖出。或者右鍵單擊構(gòu)建器的工作區(qū),然后從上下文菜單中選擇“Add”:
按住Ctrl鍵,從數(shù)據(jù)庫中選擇所需的表:
之后,單擊“Add Selected Objects”按鈕,并在構(gòu)建器中查看關(guān)聯(lián)的表:
在窗口的底部,可以看到自動(dòng)生成的SQL查詢文本,并在結(jié)果選項(xiàng)卡上顯示查詢的結(jié)果。如果對(duì)創(chuàng)建的查詢感到滿意,要接受它,請(qǐng)單擊窗口頂部的綠色圖標(biāo)。要取消,請(qǐng)選擇紅色圖標(biāo)。查詢向?qū)Оl(fā)送在構(gòu)建器中創(chuàng)建的SQL查詢文本:
單擊“Next”按鈕完成查詢創(chuàng)建,最后完成,完成了數(shù)據(jù)源的創(chuàng)建,現(xiàn)在在報(bào)表設(shè)計(jì)器中有一個(gè)數(shù)據(jù)源:
所以使用插件比標(biāo)準(zhǔn)的SQL查詢構(gòu)建器更加便捷。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn