




已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
EhLib控件的使用說明一. DBGridEh組件: 1. 屬性。 2. 使用統(tǒng)計(jì)欄功能(1) 設(shè)置統(tǒng)計(jì)欄行數(shù),將DBGridEh.FooterRowCount := 1(2) 設(shè)置激活統(tǒng)計(jì)功能,將DBGridEh.SumList.Active := True;(3) 選擇所統(tǒng)計(jì)字段的統(tǒng)計(jì)方式,如將Columnsn.Footer.ValueType := vtSum;(4)3. 復(fù)雜標(biāo)題. (1)標(biāo)題行可設(shè)為2行以上高度,并可以為多列創(chuàng)建一個(gè)共同的父標(biāo)題行。為實(shí)現(xiàn)這個(gè)效果,需在各個(gè)列標(biāo)題屬性中以“”分隔父標(biāo)題和子標(biāo)題,如辦公用品包括代碼和名稱兩部分,具體屬性設(shè)置如下:usemultititile=true;titlelines=2DBGridEh.Columns0.Title.Caption := 辦公用品|代碼;DBGridEh.Columns1.Title.Caption := 辦公用品|名稱;(2)標(biāo)題行顯示圖片 首先添加一個(gè)imagelist組件img1并在其中添加一組bmp,ico格式的圖片。然后將DBGridEh的TitleImages設(shè)置為img1.最后在需要顯示圖片的列標(biāo)題的imageindex中設(shè)置需要顯示的img1中圖片的序號(hào)。4. 實(shí)現(xiàn) DBGridEh 隔行分色顯示procedure TForm1.DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;AFont: TFont; var Background: TColor; State: TGridDrawState); Begin if DBGridEh1.SumList.RecNo mod 2 = 1 then Background := $00FFC4C4 Else Background := $00FFDDDD; end;5. DBGridEh 在某些條件下某行顯示特定顏色procedure TForm1.DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState); begin /在 name 字段值為 aaa 的行設(shè)置行背景色(ado 設(shè)置情況下) if ADOQuery1.FieldByName(name).AsString = aaa then Background := $00FFC4C4 /在 xm 字段值為 Li ming 的行設(shè)置行背景色(bde 設(shè)置情況下) else if DBGridEh1.DataSource.DataSet.FieldByName(xm).AsString = Li ming then Background := $00FFC4C4 Else Background := $00FFDDDD; end; 6. 在dbgrideh中允許選擇多行,如何知道哪些行被選中?是個(gè)BOOKMARK類型的屬性。SelectedRows: TBookmarkListprocedure TForm1.Button1Click(Sender: TObject);var i, j: Integer; s: string;begin if DBGrid1.SelectedRows.Count0 then with DBGrid1.DataSource.DataSet do for i:=0 to DBGrid1.SelectedRows.Count-1 do begin GotoBookmark(pointer(DBGrid1.SelectedRows.Itemsi); for j := 0 to FieldCount-1 do begin if (j0) then s:=s+, ; s:=s+Fieldsj.AsString; end; Listbox1.Items.Add(s); s:= ; end;end;7. 顯示自動(dòng)提示設(shè)置DBGridEh控件的showhint屬性為true,然后設(shè)置需要顯示自動(dòng)提示的字段的ToolTips屬性為True。8. 自動(dòng)排序。設(shè)置OptionsEh.dbgAutoSortMarking為true,字段的Title.titleButton屬性為true。9. 根據(jù)不同字段值顯示相應(yīng)的小圖片 如根據(jù)庫存材料的不同狀態(tài)在數(shù)據(jù)單元格中顯示相應(yīng)圖片,具體設(shè)置如下: 添加一個(gè)imagelist組件img1并在其中添加一組bmp,ico格式的圖片。然后將需要顯示圖片的列的imagelist屬性設(shè)置為img1;在keylist屬性中添加實(shí)際數(shù)據(jù)存儲(chǔ)值,一行為一個(gè)值,切記一定要與imagelist中圖片順序一一對(duì)應(yīng),否則會(huì)張冠李戴,面目全非。還可在picklist中添加提示信息,也要求是一行為一個(gè)值,并設(shè)tooltip為true,那么,運(yùn)行時(shí)當(dāng)鼠標(biāo)移動(dòng)到該數(shù)據(jù)單元格時(shí)在顯示圖片的同時(shí)還顯示提示信息,怎么樣,功能夠強(qiáng)大吧!可使用空格鍵或鼠標(biāo)切換下一張圖片,圖片切換的同時(shí)也改變了實(shí)際存儲(chǔ)數(shù)據(jù)值。也可通過shift+空格或鼠標(biāo)切換為上一張圖片。這樣就實(shí)現(xiàn)了上下兩個(gè)方向圖片切換10. 顯示字段的單列或多列下拉列表(1)單列:設(shè)置好DBGrid中該字段的PickList字符串列表、初始的列表行數(shù)DropDownRows即可。(2)多列:根據(jù)單元格字段值顯示與其相關(guān)的其它表字段內(nèi)容。首先需在當(dāng)前表中新建立一個(gè)lookup型字段,把DBGriEh相應(yīng)的列指向lookup字段,然后,設(shè)置相應(yīng)列的DropDownBox的各項(xiàng)屬性并設(shè)置改列的lookupdisplayfields屬性(顯示的列,用分號(hào)隔開),而且返回字段必須作為其中的第一項(xiàng)。具體設(shè)置如下:1) 放置兩個(gè)Query組件和一個(gè)DataSource組件,其中一個(gè)用于查詢DBGridEh需要的數(shù)據(jù),另一個(gè)用于查詢關(guān)聯(lián)表。2) 在連接到DBGridEh控件的Query中,Add相關(guān)字段。并為需要添加的字段設(shè)置lookup型列,field type為lookup;設(shè)置dataset為查詢關(guān)聯(lián)表的Query組件,key Fields為關(guān)鍵字段,lookup keys為聯(lián)結(jié)字段,Result Field為顯示在列表中的結(jié)果字段(返回字段)。3) 然后,將需要設(shè)置下拉列表的字段的ChachedUpdates屬性設(shè)置為True,為該Query控件設(shè)置OnUpdateRecord事件,內(nèi)容可以為空,但是至少留一個(gè)“/”。4) 放置DBGridEh控件,進(jìn)行相關(guān)設(shè)置。然后添加相關(guān)字段,設(shè)置剛才添加的lookup字段的AlwaysShowEditButton為True。5) 進(jìn)行下拉列表相關(guān)屬性的設(shè)置,在字段的LookupDispalyFields屬性設(shè)置列表中需要顯示得字段,如:dropdownshowtitlestrue dropdownsizingtruedropdownwidth-111. 顯示日歷下拉列表 Date 和 DateTime類型字段值均可以此形式顯示。外觀與編輯框無異,當(dāng)點(diǎn)擊該單元格時(shí),右側(cè)會(huì)出現(xiàn)“”符號(hào),點(diǎn)擊之即可出現(xiàn)日歷下拉列表,inplace 編輯器將顯示下拉按鈕以顯示顯示下拉計(jì)算器。有時(shí)不希望出現(xiàn)日歷下拉列表,只需設(shè)置Column.ButtonStyle屬性為 cbsNone即可,此方法同樣適用于其它組件不以特殊外觀顯示的情況。12. 3D或平面外觀效果設(shè)置flat為true則為平面外觀效果.13. 鎖定多列不滾動(dòng)當(dāng)表格水平方向信息在一屏幕顯示不下時(shí),此項(xiàng)功能非常有用。例如,工資表格中包含姓名、基本工資、績效工資等信息一屏幕顯示不下,需要通過移動(dòng)水平滾動(dòng)條顯示下一屏信息。如果不鎖定關(guān)鍵字段列如姓名,則移動(dòng)到下一屏?xí)r就不知道此條記錄對(duì)應(yīng)的姓名。因此,在實(shí)際應(yīng)用中經(jīng)常需鎖定多列不滾動(dòng)。 例:姓名字段為表格第二列,則設(shè)置FrozenCols=2.這樣當(dāng)一屏幕顯示不下,通過移動(dòng)水平滾動(dòng)條顯示下一屏信息時(shí),表格前兩列不滾動(dòng),作為參照列。14. 導(dǎo)入/導(dǎo)出數(shù)據(jù) 導(dǎo)入/導(dǎo)出數(shù)據(jù)在實(shí)際處理過程中是比較煩瑣的。但是Enlib3.0提供了一系列函數(shù)讓你輕松實(shí)現(xiàn)此功能,而且支持的文件格式很多:Text, Csv, HTML, RTF, XLS 和內(nèi)部數(shù)據(jù)格式。除此之外,還可對(duì)任意選擇的數(shù)據(jù)區(qū)域進(jìn)行操作。函數(shù)如下:Pascal: SaveDBGridEhToExportFile(TDBGridEhExportAsText,DBGridEh1,c:tempfile1.txt,False);C+: SaveDBGridEhToExportFile(_classid(TDBGridEhExportAsText),DBGridEh1,c:tempfile1.txt,false);說明:其中false參數(shù)表示導(dǎo)出的是選中的局部數(shù)據(jù)區(qū)域數(shù)據(jù),true則為整個(gè)表格數(shù)據(jù)。 例:將當(dāng)前表格中數(shù)據(jù)導(dǎo)出為EXCEL等格式文件。 在窗體中添加一個(gè)SaveDialog組件和“導(dǎo)出”按鈕B_exp,在“導(dǎo)出”按鈕的click事件中添加如下代碼:procedure TForm1.B_expClick(Sender: TObject);var ExpClass:TDBGridEhExportClass; Ext:String;Begin SaveDialog1.FileName := file1; if (ActiveControl is TDBGridEh) thenif SaveDialog1.Execute then begin case SaveDialog1.FilterIndex of 1: begin ExpClass := TDBGridEhExportAsText; Ext := txt; end; 2: begin ExpClass := TDBGridEhExportAsCSV; Ext := csv; end; 3: begin ExpClass := TDBGridEhExportAsHTML; Ext := htm; end; 4: begin ExpClass := TDBGridEhExportAsRTF; Ext := rtf; end; 5: begin ExpClass := TDBGridEhExportAsXLS; Ext := xls; end;else ExpClass := nil; Ext := ; end; if ExpClass nil then begin if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3) UpperCase(Ext) then SaveDialog1.FileName := SaveDialog1.FileName + . + Ext; SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog1.FileName,False); /其中false為局部數(shù)據(jù) end; end;end;15. 將存在的DBGrid組件轉(zhuǎn)換為DBGridEh組件。具體步驟如下:1、在Delphi IDE下打開TDBGrid組件.2、通過組合鍵Alt-F12將form 以文本方式顯示; 3、將所有TDBGrid 對(duì)象名改變?yōu)?TDBGridEh對(duì)象名,如:DBGrid1: TDBGrid改為 DBGrid1: TDBGridEh;4、再次通過組合鍵Alt-F12將文本方式恢復(fù)為form 顯示;5、將form各相關(guān)事件中定義的所有TDBGrid改為TDBGrideh,如DBGrid1: TDBGrid改為DBGrid1: TDBGridEh;6、重新編譯應(yīng)用程序。16. STFilter的使用。(?)(1)在DBGridEh中設(shè)置local值為True(具體作用還沒有體會(huì)出來- -),設(shè)置Visible為True。(2)在Columns中的STFilter下的屬性中,設(shè)置ListSource為用于取下拉列表的DataSource,ListField為取下拉列表內(nèi)容的字段。二. DBSumList組件:DBSumList組件可以在可視動(dòng)態(tài)變化數(shù)據(jù)集中進(jìn)行記錄統(tǒng)計(jì)。但是上面的DBGridEh的統(tǒng)計(jì)功能并不需要這個(gè)組件。使用時(shí)先在設(shè)置DataSet關(guān)聯(lián)到Query組件,然后SumCollection中設(shè)置相關(guān)的需要統(tǒng)計(jì)的數(shù)據(jù)字段,然后寫 SumListChanged 事件來指定在被統(tǒng)計(jì)數(shù)據(jù)發(fā)生改變后所要做的操作。三. PrintDBGridEht組件:1. 屬性。AfterGridText:表尾文字。BeforeGridText:表頭文字。PageFooter:設(shè)置頁腳。PageHeader:設(shè)置頁眉PageFooter.CenterText:設(shè)置頁腳中央的文字PageFooter.Left
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)美術(shù)學(xué)科培訓(xùn)
- ICU護(hù)理學(xué)習(xí)文獻(xiàn)匯報(bào)
- 電梯安全知識(shí)教育
- 建筑企業(yè)質(zhì)量安全月培訓(xùn)
- 海關(guān)監(jiān)管體系課件
- 個(gè)人舞蹈教室租賃合同模板
- 罐頭食品HACCP體系評(píng)估與優(yōu)化合同
- 企業(yè)股權(quán)收購撤銷及利益分配合同
- 餐飲行業(yè)食品安全事故處理協(xié)議
- 知名餐飲品牌總經(jīng)理任職及品牌推廣合同
- 2024年陜西省政工師理論知識(shí)考試參考題庫(含答案)
- 市政道路工程技術(shù)標(biāo)
- 留學(xué)宣講活動(dòng)策劃方案
- 林下種植中藥材的可行性方案
- GB/T 43543-2023漱口水
- 鋼廠燒結(jié)機(jī)安裝施工組織設(shè)計(jì)
- 國家開放大學(xué)電大??啤稇椃▽W(xué)》2025期末試題及答案
- 電信營業(yè)廳規(guī)章制度范文(2篇)
- 火龍罐療法經(jīng)典課件
- 德國司法鑒定培訓(xùn)心得
- xxxx智能化工程施工進(jìn)度計(jì)劃表
評(píng)論
0/150
提交評(píng)論