DxDbGrid与DbGridEh表格使用及导出Excel

来源:互联网 发布:win10删除ubuntu系统 编辑:程序博客网 时间:2024/05/16 11:30

前言:二者都是非常不错的第三方表格控件,都可实现多表头的表格及分组汇总功能;在导出Excel方面,个人觉得DxDbGrid做的比DbGridEh出色,几乎是Grid原样导出,DbGridEh导出表格模式的单元格与Grid显示有所出入。


一、所用版本及安装:

1、版本:DevExQuantumGrid v3.22 Pro for D7EhLib 5.2.84

2、安装:DevExQuantumGrid直接Setup.exeOKEhLibDelphi7的安装稍微啰嗦点,具体步骤参考readme.txt或如下步骤:

(1).   EhLib 5.2.84解压缩到目标目录。

(2).   打开Delphi   7,将EhLib/Delphi7子目录加到DelphiLibrary   path

(菜单操作路径为:Tools|Environment   Options...|Library|Library   path)

(3).   EhLib目标安装目录中的commonDataService子目录的文件移动到EhLib/Delphi7子目录中。

(4).   Delphi   7中打开EhLib70.dpk,编译,但不要安装。

(5).   Delphi   7中打开DclEhLib70.dpk,编译并安装。

(6).   组件面板中出现一个EhLib的组件页。

(7).   打开附带的DEMOS,编译并运行,测试安装成功。

 

二、使用DxDbGrid

1、窗体拖入dxDBGrid1 ADOConnection1ADOQuery1DataSource1Button1    SaveDialog1,然后完成数据的链接及相关控件关联,如何操作,你应该懂的;接下来完成如下图所示的一个表格:

2、双击dxDBGrid1,在Bands栏增加TdxTreeListBand并填写Caption,注意要将dxDBGrid1ShowBands属性设置为True才能显示Bands栏;同样双击dxDBGrid1,在Columns栏,添加多个dxGridColumn(根据需要选择不同的类型)并使其与数据库字段形成关联,涉及如下几个属性,BandIndex选择对应的Band从而形成二级表头,CaptionFieldNameHeaderAlignmentwidth等,如此完成了基本的表格设计,如果喜欢表头平滑更改LookAndFeel属性为lfFlat即可。

       如果增加排序功能,edgoAutoSort(True)edgoLoadAllRecords(True)KeyField(数据库表主键字段)。

       如果需要Footer汇总,首先设置属性showSummeryFooterTrue,然后选择需要汇总的dxGridColum根据需要更改其summaryFooterType属性如cstSum(或cstAvg),如需要显示汉字,可设置SummaryFooterFormat如(平均年龄=0.00)。

       导出Excel可直接利用dxDbGridSaveToXLS方法,具体代码参考如下:

 

三、使用DbGridEh

1、窗体拖入DBGridEh1 ADOConnection1ADOQuery1DataSource1Button1    SaveDialog1,然后完成数据的链接及相关控件关联;接下来完成如下图所示的一个表格:

 

 

2、双击DbgridEh1,新增多个Columns并使之与数据字段对应,DbgridEh设计多表头的关键在于Culumn属性Title的设定,如上表格“编号”、“名称”需要将Title->Caption分别设置为“地址|编号”、“地址|名称”,原来起作用的关键在于“|”这个分隔符;当然还需要设置其他的属性,FieldName对应显示的字段,如果需要Footer,则在ColumnFooter属性完成相关设置,如上表格,设置“编号”列的Footer-Value为“合计:”,ValueType为“fvtStaticText”;“名称”列的Footer-FieldName为“id(此处只是为了将第一列ID的和显示在第二列姓名的汇总栏,只为测试没有什么实际意义)ValueType为“fvtSum”。

       导出Excel,以下导出Excel函数代码可以进一步完善,日后再说吧,来活了!发现研究一个东西需要时间,整理研究成果的更长。


原创粉丝点击