Delphi的EhLib控件的使用说明.doc

上传人:cl****1 文档编号:543783636 上传时间:2023-06-16 格式:DOC 页数:7 大小:150.50KB
返回 下载 相关 举报
Delphi的EhLib控件的使用说明.doc_第1页
第1页 / 共7页
Delphi的EhLib控件的使用说明.doc_第2页
第2页 / 共7页
Delphi的EhLib控件的使用说明.doc_第3页
第3页 / 共7页
Delphi的EhLib控件的使用说明.doc_第4页
第4页 / 共7页
Delphi的EhLib控件的使用说明.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《Delphi的EhLib控件的使用说明.doc》由会员分享,可在线阅读,更多相关《Delphi的EhLib控件的使用说明.doc(7页珍藏版)》请在金锄头文库上搜索。

1、EhLib控件的使用说明一. DBGridEh组件: 1. 属性。 2. 使用统计栏功能(1) 设置统计栏行数,将DBGridEh.FooterRowCount := 1(2) 设置激活统计功能,将DBGridEh.SumList.Active := True;(3) 选择所统计字段的统计方式,如将Columnsn.Footer.ValueType := vtSum;(4)3. 复杂标题. (1)标题行可设为2行以上高度,并可以为多列创建一个共同的父标题行。为实现这个效果,需在各个列标题属性中以“”分隔父标题和子标题,如办公用品包括代码和名称两部分,具体属性设置如下:usemultititil

2、e=true;titlelines=2DBGridEh.Columns0.Title.Caption := 办公用品|代码;DBGridEh.Columns1.Title.Caption := 办公用品|名称;(2)标题行显示图片 首先添加一个imagelist组件img1并在其中添加一组bmp,ico格式的图片。然后将DBGridEh的TitleImages设置为img1.最后在需要显示图片的列标题的imageindex中设置需要显示的img1中图片的序号。4. 实现 DBGridEh 隔行分色显示procedure TForm1.DBGridEh1GetCellParams(Sender:

3、 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; AF

4、ont: TFont; var Background: TColor; State: TGridDrawState); begin /在 name 字段值为 aaa 的行设置行背景色(ado 设置情况下) if ADOQuery1.FieldByName(name).AsString = aaa then Background := $00FFC4C4 /在 xm 字段值为 Li ming 的行设置行背景色(bde 设置情况下) else if DBGridEh1.DataSource.DataSet.FieldByName(xm).AsString = Li ming then Backgr

5、ound := $00FFC4C4 Else Background := $00FFDDDD; end; 6. 在dbgrideh中允许选择多行,如何知道哪些行被选中?是个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.

6、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. 显示自动提示设置DBGridEh控件的showhint属性为true,然后设置需要显示自动提示的字段的ToolTips属性为True。8. 自动排序。设置OptionsEh.dbgAut

7、oSortMarking为true,字段的Title.titleButton属性为true。9. 根据不同字段值显示相应的小图片 如根据库存材料的不同状态在数据单元格中显示相应图片,具体设置如下: 添加一个imagelist组件img1并在其中添加一组bmp,ico格式的图片。然后将需要显示图片的列的imagelist属性设置为img1;在keylist属性中添加实际数据存储值,一行为一个值,切记一定要与imagelist中图片顺序一一对应,否则会张冠李戴,面目全非。还可在picklist中添加提示信息,也要求是一行为一个值,并设tooltip为true,那么,运行时当鼠标移动到该数据单元格时

8、在显示图片的同时还显示提示信息,怎么样,功能够强大吧!可使用空格键或鼠标切换下一张图片,图片切换的同时也改变了实际存储数据值。也可通过shift+空格或鼠标切换为上一张图片。这样就实现了上下两个方向图片切换10. 显示字段的单列或多列下拉列表(1)单列:设置好DBGrid中该字段的PickList字符串列表、初始的列表行数DropDownRows即可。(2)多列:根据单元格字段值显示与其相关的其它表字段内容。首先需在当前表中新建立一个lookup型字段,把DBGriEh相应的列指向lookup字段,然后,设置相应列的DropDownBox的各项属性并设置改列的lookupdisplayfiel

9、ds属性(显示的列,用分号隔开),而且返回字段必须作为其中的第一项。具体设置如下:1) 放置两个Query组件和一个DataSource组件,其中一个用于查询DBGridEh需要的数据,另一个用于查询关联表。2) 在连接到DBGridEh控件的Query中,Add相关字段。并为需要添加的字段设置lookup型列,field type为lookup;设置dataset为查询关联表的Query组件,key Fields为关键字段,lookup keys为联结字段,Result Field为显示在列表中的结果字段(返回字段)。3) 然后,将需要设置下拉列表的字段的ChachedUpdates属性设置

10、为True,为该Query控件设置OnUpdateRecord事件,内容可以为空,但是至少留一个“/”。4) 放置DBGridEh控件,进行相关设置。然后添加相关字段,设置刚才添加的lookup字段的AlwaysShowEditButton为True。5) 进行下拉列表相关属性的设置,在字段的LookupDispalyFields属性设置列表中需要显示得字段,如:dropdownshowtitlestrue dropdownsizingtruedropdownwidth-111. 显示日历下拉列表 Date 和 DateTime类型字段值均可以此形式显示。外观与编辑框无异,当点击该单元格时,右

11、侧会出现“”符号,点击之即可出现日历下拉列表,inplace 编辑器将显示下拉按钮以显示显示下拉计算器。有时不希望出现日历下拉列表,只需设置Column.ButtonStyle属性为 cbsNone即可,此方法同样适用于其它组件不以特殊外观显示的情况。12. 3D或平面外观效果设置flat为true则为平面外观效果.13. 锁定多列不滚动当表格水平方向信息在一屏幕显示不下时,此项功能非常有用。例如,工资表格中包含姓名、基本工资、绩效工资等信息一屏幕显示不下,需要通过移动水平滚动条显示下一屏信息。如果不锁定关键字段列如姓名,则移动到下一屏时就不知道此条记录对应的姓名。因此,在实际应用中经常需锁定

12、多列不滚动。 例:姓名字段为表格第二列,则设置FrozenCols=2.这样当一屏幕显示不下,通过移动水平滚动条显示下一屏信息时,表格前两列不滚动,作为参照列。14. 导入/导出数据 导入/导出数据在实际处理过程中是比较烦琐的。但是Enlib3.0提供了一系列函数让你轻松实现此功能,而且支持的文件格式很多:Text, Csv, HTML, RTF, XLS 和内部数据格式。除此之外,还可对任意选择的数据区域进行操作。函数如下:Pascal: SaveDBGridEhToExportFile(TDBGridEhExportAsText,DBGridEh1,c:tempfile1.txt,Fals

13、e);C+: SaveDBGridEhToExportFile(_classid(TDBGridEhExportAsText),DBGridEh1,c:tempfile1.txt,false);说明:其中false参数表示导出的是选中的局部数据区域数据,true则为整个表格数据。 例:将当前表格中数据导出为EXCEL等格式文件。 在窗体中添加一个SaveDialog组件和“导出”按钮B_exp,在“导出”按钮的click事件中添加如下代码:procedure TForm1.B_expClick(Sender: TObject);var ExpClass:TDBGridEhExportClass

14、; 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 Upp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号