• 导出到excel等文件类型
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[].FieldName:='Name|FirstName';
DBGridEh.Columns[].FieldName:='Name|LastName';
相同合并的表头需要用竖线'|'分割
  • 页脚合计等功能
FooterRowCount需要输入页脚汇总的行数,比如1
单击要汇总列的Footers属性,在结构视图点击右键选择Add Item出现此列页脚的属性,在ValueType选择需要进行的计算,常用的有计数,合计,最大值,最小值,
其中fvtFieldValue是根据数据集中字段进行计算,在FieldName属性中,可以选择要汇总合计的字段
,在DisplayFormat中可以输入要显示值得格式比如0.,
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[].DisplayText);
end;
  •  表格指示器显示数字行号
  DBGridEh1.IndicatorOptions := [gioShowRowIndicatorEh, gioShowRecNoEh];
DBGridEh1.IndicatorParams.RecNoShowStep := ; //定义多少行显示行号,默认为●鼠标点击后显示当前行号
  •  隔行变色
EvenRowColor 偶数行颜色
OddRowColor 奇数行颜色
  •  冻结列
FrozenCols 冻结列,赋值2即冻结左边两列
  •  纵向相同单元格值不重复显示
  • DBGridEh基本操作-LMLPHP
05-02 16:24