uses DBGridEhImpExp
//导出到文本文件
TDBGridEhExportAsText
//导出到Unicode文本
TDBGridEhExportAsUnicodeText
//导出到CSV
TDBGridEhExportAsCSV
//导出到HTML
TDBGridEhExportAsHTML
//导出到RTF
TDBGridEhExportAsRTF
//导出到XLS
TDBGridEhExportAsXLS
//导出到XLSX
TDBGridEhExportAsXlsx
//示例
procedure TForm1.Button1Click(Sender: TObject);
var
Path:string;
begin
GetDir(0,Path);
ExportDBGridEhToXlsx(DBGridEh,Path+'File1.xlsx',[]);
ShowMessage('Export is finished');
end;
需要打开多表头支持TitleParams->MultiTitle选择TRUE
给表头赋值时输入格式为:
DBGridEh.Columns[0].FieldName:='Name|FirstName';
DBGridEh.Columns[0].FieldName:='Name|LastName';
相同合并的表头需要用竖线'|'分割
FooterRowCount需要输入页脚汇总的行数,比如1
单击要汇总列的Footers属性,在结构视图点击右键选择Add Item出现此列页脚的属性,在ValueType选择需要进行的计算,常用的有计数,合计,最大值,最小值,
其中fvtFieldValue是根据数据集中字段进行计算,在FieldName属性中,可以选择要汇总合计的字段
,在DisplayFormat中可以输入要显示值得格式比如0.00,
ValueType是fvtStaticText中是显示静态文本
需要将dbgrideh的属性中的sumlist中的Active 设置为 True才能根据字段进行计算
选中要显示复选框的列,设置CheckBoxes为True
在FieldName中选中数据集中要显示的列,数据集中这个字段必须设置为Bit类型
主表连接方式:DBGridEh1->DataSource1->MemTableEh1->DataSetDriverEh1->ADOQuery1->ADOConnection1
ADOQuery1.sql.text:='select * from WareOut'
DBGridEH1.RowDetailPanel.Active:=True;打开显示子表的Panel
把DBGridEH2放入DBGridEH1打开的Panel中,并设置DBGridEH2的Algin为alClient
子表连接方式:DBGridEh2->DataSource2->MemTableEh2->DataSetDriverEh2->ADOQuery2->ADOConnection1
ADOQuery2.sql.text:='select * from WareOutDetail'
设置MemTableEh2的MasterFields和DetailFields
//获取当前点击单元格值
procedure TForm1.DBGridEh1CellClick(Column: TColumnEh);
begin
ShowMessage(Column.DisplayText);
end;
//获取当前选择行某列单元格值
procedure TForm1.DBGridEh1CellClick(Column: TColumnEh);
begin
ShowMessage(DBGridEh1.Columns[1].DisplayText);
end;
DBGridEh1.IndicatorOptions := [gioShowRowIndicatorEh, gioShowRecNoEh];
DBGridEh1.IndicatorParams.RecNoShowStep := 10; //定义多少行显示行号,默认为●鼠标点击后显示当前行号
EvenRowColor 偶数行颜色
OddRowColor 奇数行颜色
FrozenCols 冻结列,赋值2即冻结左边两列
- 纵向相同单元格值不重复显示