?? readme.txt
字號:
QL Library
==========
歡迎使用 QL Library,如在使用中有任何疑問或問題請與我聯系:
Author: Qiuliang
EMail: qiuliang@china.com
QQ: 43645896
Web: http://developer.nicesoft.net
本文檔包含如下內容:
安裝說明
QLDBGrid 說明
QLDBLookupComboBox 說明
QLDBReportBuilder 說明
QLDBFilterDialog 說明
安裝說明
========
使用“File\Open...' 菜單項打開 Lib 目錄下的組件包 QLL60.dpk (Delphi 6) 或 QLL70.dpk (Delphi 7)。在包管理器窗口點擊“Compile”按鈕來編譯包,然后點擊“Install”按鈕來注冊組件包。
QLDBGrid
========
介紹
----
QLDBGrid 是一款增強型的 DBGrid 組件,繼承自標準 DBGrid,并增加了許多強大實用的功能,如財務金額欄,嵌入外部組件等等。
特性
----
* 中國財務憑證式的金額顯示。各顯示位之間的分隔線顏色可自行定義,并可在標題行上顯示“...萬千百十個角分”!!!
* 支持多種方式的合計行。支持合計、平均、計數、文本等方式的合計行。中國財務憑證式的金額顯示在合計行上同樣適用。合計行的顏色可自行定義!!!
* 可在 Grid 的各列上嵌入任意控件來代替默認編輯器,例如可在布爾型字段的列上嵌入 DBCheckBox,在一只讀或計算字段的列上嵌入 DBEdit!!!
* 支持交替式的行顏色顯示。奇數行和偶數行可定義不同的顏色
* 自適應寬度。Grid 中的各列的寬度隨 Grid 寬度的改變可自行調整寬度,使其始終填充整個 Grid 客戶區域
* 回車鍵轉換為制表鍵。可將回車鍵當作制表鍵來處理,使用戶敲回車鍵時自動轉入下一列或行,輸入數據更快速方便
* 結合 TQLQRDBGridBuilder 自動生成 QuickReport 報表,省去手工制作報表的麻煩!!!
* 結合 TQLDBLookupComboBox 實現輸入內容按拼音碼查找(如同速達 E2 中的品名輸入方式),而不必在大量的產品目錄中來回查找或強迫用戶記憶大量的產品代碼!!!
* 繼承自標準的 TDBGrid,使用 TDBGrid 或其子類開發的現有程序可實現平滑升級
簡要幫助
--------
property AlternateColor: TColor;
設置 AlternateColor 來指定 Grid 偶數行的背景顏色。
配合 Color 屬性可達到奇數行和偶數行使用不同背景顏色顯示的效果。
property CurrencyView: TCurrencyView;
設置 CurrencyView 來指定當使用財務顯示方式時金額型的字段在 Grid 中的顯示方式。CurrencyView 值是一個 TCurrencyView 對象。設置 CurrencyView 的屬性來指定如整數位、千分位的分隔線顏色、每位的寬度、是否顯示金額標題行等外觀。
先在 OptionsEx 中設置 dgCurrencyView ,再設置字段的 currency 屬性為 Ture,該字段就會按財務方式顯示了。
property FooterColor: TColor;
使用 FooterColor 來讀取霍更改合計行的背景顏色。
property FooterFont: TFont;
FooterFont 屬性指向一個 TFont 對象,決定合計行的顯示字體
property FooterRowCount: Integer;
設置 FooterRowCount 來指定合計行的行數,可以設置多個合計行,設置為 0 表示無合計行。(當前版本只支持最大 1 個合計行)
property OptionsEx: TQLDBGridOptionsEx;
設置 OptionsEx 來包含所需的屬性。OptionsEx 可設置如下值:
值 含義
dgCurrencyView 使用財務方式顯示金額型的字段
dgAutoWidth 自動調整各列的寬度,使之總是剛好填滿整個客戶區,并隱藏水平滾動條
dgEnterToTab 在編輯時自動將 Enter 鍵轉換成 Tab 鍵,以便使用戶回車時轉到下一個可編輯區
dgAllowDelete 允許刪除用戶使用 Ctrl+Del 刪除當前行
dgAllowInsert 允許在用戶插入新的行
dgControlArrowKeys 對于嵌入的控件,其方向鍵交由 Grid 來處理,以便在按下方向鍵時能夠移動當前行或列
property OnDrawFooterCell: TDrawFooterCellEvent;
編寫 OnDrawFooterCell 事件處理過程來自定義合計行的繪畫。使用 Canvas 屬性的方法進行繪畫。
使用 QLDBGrid
-------------
由于 QLDBGrid 繼承自 DBGrid,因此如果不涉及到其新增功能,你完全可以用像往常使用 DBGrid 一樣使用它,也完全可以將舊工程中的 DBGrid 用 QLDBGrid 替換。
按財務憑證方式顯示金額欄
------------------------
首先,在雙擊所連接顯示的 DataSet, 在字段編輯器選中金額型字段的字段并在屬性編輯器中將其 currency 屬性設置為 True;
然后,將 QLDBGrid 的 OptionsEx.dgCurrencyView 設置為 True 即可。此時將 DataSet.Active 屬性置為 True,即可看到效果。
顯示合計行
----------
首先設置 FooterRowCount 屬性為 1。接著,雙擊 QLDBGrid,在列編輯器中加入需要顯示的列,然后選擇需要顯示合計數的列,在屬性編輯器中找到屬性 Footer,將子屬性 ValueType 設置為需要的合計數類型即可。
嵌入外部組件
------------
1. 在 Form 上放置將要嵌入的組件,該組件需繼承自 TWinControl
2. 在字段編輯器中加入將要顯示出來的所有字段
3. 雙擊 QLDBGrid 彈出列編輯器,并加入所有需要顯示的字段
4. 在列編輯器中選擇將要嵌入外部組件的列,將其 ControlType 從 ctDefault 改為 ctCustomControl,并設置 CustomControl 屬性,使之指向 Form 放置的需要嵌入的組件。
5. 完成。
QLDBLookupComboBox
==================
介紹
----
QLDBLookupComboBox 是一款增強型的 DBLookupComboBox 組件,它在標準的 DBLookupComboBox 增加了一些更方便用戶快速輸入數據的特性。它的大部分屬性和方法跟標準 DBLookupComboBox 組件相同,因此這些屬性和方法這里不再加以說明,需要的話請參考 Delphi 幫助文檔。
特性
----
彈出的列表框中的內容可按拼音碼或原文(包含方式)查找!!!
彈出的列表框的下面可顯示相應的操作按鈕,如顯示新建、修改、置空按鈕來針對當前記錄提供操作!!!
屬性完全兼容 TDBLookupComboBox
簡要幫助
--------
property SearchMode: TSearchMode read FSearchMode write SetSearchMode;
指定查找模式,可取如下值:
smLocate 使用定位方式查找
smFilter 使用過濾方式查找
property SearchType: TSearchType read FSearchType write FSearchType;
值時查找類型,可取如下值:
stAuto 自動決定查找類型
smNormal 使用由 ListFieldIndex 屬性指定的字段查找
smPYM 使用由 ListFieldIndex 屬性指定的字段的值的拼音碼查找
smWBM 使用由 ListFieldIndex 屬性指定的字段的值的五筆碼查找
property VisibleButtons: TLookupWindowBtns read FVisibleButtons write
SetVisibleButtons default [lbNew, lbEdit, lbSetNull];
決定哪些按紐出現在下拉框中
property OnButtonClick: TLookupWindowBtnClick read FOnButtonClick write
FOnButtonClick;
在用戶單擊下拉列表框中的按紐時會觸發該事件。參數 Index 指定當前用戶點擊的按鈕類型,有如下值:
lbNew 用戶點擊了新建按鈕
lbEdit 單擊的是編輯按鈕
lbSetNull 單擊的是置空按鈕
QLDBGridReportBuilder
=====================
介紹
----
QLDBGridReportBuilder 能根據 DBGrid 自動生成 QuickReport 報表。它在克服了用戶手動創建報表的繁瑣的同時又保留了對手動創建報表的靈活性的支持。
使用 QLDBGridReportBuilder
--------------------------
1、打開 Delphi,新建一個工程
2、在 Form1 上放置一個 ADOTable,按如下設置屬性:
ConnectionString = "FILE NAME=C:\Program Files\Common
Files\System\OLE DB\Data Links\DBDEMOS.udl"
TableName = "Customer"
Active = True
3、放置一個 DataSource 組件到 Form1 上,設置其 DataSet 屬性指向 ADOTable1
4、放置一個 DBGrid 組件到 Form1 上,并設置其 DataSource 指向 DataSource1。這是,DBGrid 中將顯示 ADOTable1 的數據
5、從 Nicesoft.Net 組件板上添加一個 QLDBGridReportBuilder 組件到 Form1,設置其 DBGrid 屬性指向 DBGrid1
6、將 QLDBGridReportBuilder1 的 Active 屬性設為 True
這時,一張打印 DBGrid 的報表就被創建了,你可以進行預覽或打印。但這張自動生成的報表上沒有標題或頁眉頁腳等我們需要手動設置的內容,別急,下面就教你如何手動設定頁眉頁腳等內容。
7、將 QLDBGridReportBuilder1 的 Active 屬性設為 False,這時剛才生成的報表將被 Free
8、放置一個 QuickRep 組件到 Form1 上,并在上面添加頁眉、頁腳、標題等內容
9、將 QLDBGridReportBuilder1 的 Report 屬性指向剛才放置的報表組件 QuickRep1
10、將 QLDBGridReportBuilder1 的 Active 屬性設為 True
至此,一張包含了用戶手動設置和 QLDBGridReportBuilder 自動生成的報表就被創建了。如要保留生成的報表,必須在將 QLDBGridReportBuilder1 的 Active 屬性設為 False 之前將其 Report 屬性設為 nil。否則當將 QLDBGridReportBuilder1 的 Active 屬性設為 False,生成的報表也將被 Free。
屬性說明
--------
AutoWidth: Boolean 自動根據報表的寬度調整每列寬度,使之能容下
所有列
HasColLines: Boolean 生成的報表中各列是否用豎線分隔
HasRowLines: Boolean 生成的報表中各行之間是否永橫線分隔
PrintFields: string 需打印的字段,各字段之間用分號(;)分隔
SummaryFields: TStrings 定義合計字段。如
SummaryFields.Add('Cost=SUM(Cost)') 表
示在字段 Cost 的合計位置上顯示
SUM(Cost) 的值
AutoOrientation 自動調整報表值紙張方向,以盡可能容納更多的
列。如果已將 AutoWidth 設為 True,該屬性將
不起作用
Tips
----
在運行時生成報表更靈活,可用如下代碼:
with TQLDBGridReportBuilder.Create(Self) do
try
DBGrid := DBGrid1;
Report := TMyReportClass.Create(Self);
HasColLines := True;
HasRowLines := True;
AutoWidth := True;
Active := True;
Report.Preview;
Active := False;
finally
Free;
end;
QLDBFilterDialog
================
QLDBFilterDialog 是一個數據集篩選對話框,它能根據用戶定義的篩選條件對任意 DataSet 進行篩選,也能根據篩選條件生成 SQL 的 WHERE 子句。
說明:
---------
property DataSet: TDataSet 待篩選的 DataSet;
property FilterFields: string 允許進行篩選的字段,只段之間用分號(;)分隔
property Title: string 篩選對話框的標題
function Execute: Boolean; 運行篩選對話框,如果返回值為 True,則表示用戶執行篩選
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -