EhLib使用说明
- 格式:doc
- 大小:264.00 KB
- 文档页数:76
EhLib使用说明.txt“恋”是个很强悍的字。
它的上半部取自“变态”的“变”,下半部取自“变态”的“态”。
ehlib v5 在delphi2010下的安装1.卸载老版本2.创建目录如 e:\ehlib53.把RADStudio2010和common 文件夹下的文件拷贝到 e:\ehlib5下4.如需要,把e:\ehlib5加入到lib:Tools->Options->Delphi Options->Library - Win32->Library Path).5.用 "File\Open..." 打开EhLib140.Dpk,并编译;然后打开EhLibDataDriversXX.Dpk,并编译;6.然后打开并编译、安装:DclEhLibXX.BPL,DclEhLibDataDriversXX.BPL:即:用 "File\Open..." 打开DclEhLibXX.Dpk,DclEhLibDataDriversXX.Dpk,编译、安装;In "Package..." window click "Compile" button to compile the 7.EhLib组件将出现Delphi 7中的安装方法1. 把 EhLib 中的 common 和 DataService 文件拷贝到 Delphi7 目录中.2.在 TOOLS->Environment Options->Library->Library Path 中添入EHLIB路径。
3.打开新建文件夹中的 EHLIB70.DPK ,编译一下,但不要安装。
4.打开Ehlib中的DclEhLib70.DPK,编译,安装5. 在Delphi 7中打开DclEhLib70.dpk,编译并安装。
6. 组件面板中出现一个EhLib的组件页。
7. 打开附带的DEMOS,编译并运行,测试安装成功。
以下是EHLIB的导出代码:(其实EHLIB的DEMO1中已有)procedure TInvoiceManager.ppmSaveSelectionClick(Sender: TObject);var ExpClass:TDBGridEhExportClass;Ext:String;beginSaveDialog1.FileName := 'file1';if (ActiveControl is TDBGridEh) thenif SaveDialog1.Execute thenbegincase SaveDialog1.FilterIndex of1: 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;elseExpClass := nil; Ext := '';end;if ExpClass <> nil thenbeginif UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <>UpperCase(Ext) thenSaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext; SaveDBGridEhToExportFile(ExpClass,TDBGridEh(ActiveControl),SaveDialog1.FileName,False);end;end;end;// 功能:设定 DbGridEh 合计行信息// 参数: pDbGrid:TDBGridEh;// pcFields : string ; 字段列表,字段用逗号分隔// pvtType : TFooterValueType ; 统计类型 TFooterValueType = (fvtNon, fvtSum, fvtAvg, fvtCount, fvtFieldValue, fvtStaticText);// 引用:// 例如:DbGridEhFoot( DbGridEh1, ´Number,Sum´, fvtSum ); 设定数量和金额字段为合计统计//--------------------------------------------------------------------------------Procedure DbGridEhFoot( pDbGrid:TDBGridEh; pcFields: string; pvtType : TFooterValueType );var nFldLoop : integer ;cFieldName : string ;tmpFldList : TStrings ;beginpDbGrid.FooterRowCount := 1; // 指定网格尾部统计行行数pDbGrid.SumList.Active := true; // 激活统计pDbGrid.FooterColor := clBtnFace ; // 指定统计行颜色tmpFldList := TStringList.Create ;StrToStringList( Uppercase(pcFields),´,´,tmpFldList ); // 将字符串转换为串列表For nFldLoop := 0 to pDbGrid.Columns.Count -1 dobegincFieldName := pDbGrid.Columns[nFldLoop].FieldName ; // 网格列字段名if tmpFldList.IndexOf( uppercase( cFieldName ) ) >= 0 thenbeginpDbGrid.Columns[nFldLoop].Footer.ValueType := pvtType ; // 统计类型end;end ;tmpFldList.Free ;end;一、如何在程序中确定Ehlib定义的报表表头颜色?在执行打印之前,加上下面的语句:DBGridEh1.FixedColor:=clLime;//clLime可以换成你想要的颜色比如clRed是红色等等PrintDBgridEh1.Options:=[pghColored,pghFitingByColWidths];//方括号里的"pghColored"是必需的,其它的根据你的需要决定取舍================================================================二、Ehlib中的PrintDBGridEh如何印页码,即第几页共几页PrintDBGridEh1.PageFooter.CenterText:='第&[Page]页共&[Pages]页'在对象管理器中的相关位置有设================================================================三、本人刚学习使用ehlib包,现在要实现类似ehlib所带demo1中一个功能:点击dbgrid 某列值的下拉按纽(可以设置),弹出一个下拉列表(其内容是另一个dataset的)。
我看demo1中好象是使用了DBLookupComboboxEh,可我参看demo1怎么设置也不行,请指教。
谢谢。
呵呵,这个效果没有用DBLoookupComboBoxEh,它是利用查找字段实现的。
它在Query1中,对应VName字段,增加了一个叫VName1的查找字段,这个字段从qrVendors查找相关的数据,再在DBGridEh1显示VName1,这样显示就是那种效果了。
===============================================================四、Ehlib 怎样固定某几列?只要设置dbGridEh的FrozenCols属性为几列即可.五、定制网格标题复杂标题TDBGridEh 允许在多列上创建标题,例如:设置 eMultiTitle 属性为 True 并且填充字段的标签或列标题的标题,可以使用下面的规则:字段标签中的文本部分或列标题必须由几部分组成,并且用 "|" 分割,几个列的每一个通用部分都设置为相同。
其它字段或标题必须在相应的部分包含同样的文本。
例如:Field1.DisplayLabel := 'Title1|SubTitle1';Field2.DisplayLabel := 'Title1|SubTitle2';或DBGridEh.Columns[0].Title.Caption := 'Title1|SubTitle1';DBGridEh.Columns[1].Title.Caption := 'Title1|SubTitle2';按钮式标题设置Column.Title.TitleButton 为 True可以强制标题单元为按钮式。
写 OnTitleBtnClick 事件来控制用户单击标题单元时的操作。
六、标题属性的默认值使用TDBGridEh.ColumnDefValues.Title来设置标题属性的默认值。
七、数据行高度使用 RowHeight 和 RowLines 属性来指定数据行高。
完整的数据行高 = 行线高度+行高。
设置 RowSizingAllowed 为 True 以允许可以在运行是使用鼠标来改变行高。
设置Column.WordWrap为True可以使数据行中文本多行显示。