DBGridEh使用指南

简介:

1.设置表头,是否允许多表头,设置是否只读。

  dbgrdh1.TitleFont.Color:=clBlue;
  dbgrdh1.Flat:=True;
  dbgrdh1.FixedColor:=clSkyBlue; //Flat为True背景渐变才会起作用
  dbgrdh1.TitleHeight:=30;
  dbgrdh1.TitleLines := 2;
  dbgrdh1.ColumnDefValues.Title.Alignment:=taCenter;
  dbgrdh1.UseMultiTitle := true;
  dbgrdh1.Columns[0].HideDuplicates := true;//是否隐藏重复
  dbgrdh1.RowSizingAllowed := True;
  DBgrdh1.DataSource := nil;

2.设置表格颜色

procedure Ttablefrm.dbgrdh1GetCellParams(Sender: TObject; Column: TColumnEh;
  AFont: TFont; var Background: TColor; State: TGridDrawState);
begin
  if dbgrdh1.DataSource <> nil then
  begin
    if dbgrdh1.SumList.RecNo mod 2 = 1 then
      Background := $00FFC4C4
    else
      Background := $00FFDDDD;
  end;
end;

3.添加合计。

  dbgrdh1.FooterRowCount := 1;
  dbgrdh1.SumList.Active := true;
  dbgrdh1.Columns[0].Footer.valuetype := fvtstatictext;//静态文本
  dbgrdh1.Columns[0].Footer.value := '合计:';

  for i := 0 to dbgrdh1.Columns.Count - 1 do
  begin
    if (i>4) and (i < 10) then
    begin
      dbgrdh1.Columns[i].Footer.ValueType := fvtSum;//合计sum
    end;
  end;

 

4.设置打印。

  PrintDBGridEh1.DBGridEh :=dbgrdh1;
  PrintDBGridEh1.SetSubstitutes(['%[打印标题]','住院处结算单']);
  PrintDBGridEh1.Print;

5.设置导出(excel,html,txt)。

procedure OutToFile(IADO : TADOQuery; DgEh : TDBGridEh);

procedure Tfrm_bazl.OutToFile(IADO: TADOQuery; DgEh: TDBGridEh);
var
  ExpClass:TDBGridEhExportclass;
  Ext:String;
  FSaveDialog: TSaveDialog;
begin
  try
    if not IADO.IsEmpty then
    begin
      FSaveDialog := TSaveDialog.Create(Self);
      FSaveDialog.Filter:='Excel 文档 (*.xls)|*.XLS|Text files (*.txt)|*.TXT|Comma separated values (*.csv)|*.CSV|HTML file (*.htm)|*.HTM|Word 文档 (*.rtf)|*.RTF';
      if FSaveDialog.Execute and (trim(FSaveDialog.FileName)<>'') then
      begin
        case FSaveDialog.FilterIndex of
            1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
            2: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
            3: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
            4: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
            5: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
        end;
        if ExpClass <> nil then
        begin
          if UpperCase(Copy(FSaveDialog.FileName,Length(FSaveDialog.FileName)-2,3)) <> UpperCase(Ext) then
            FSaveDialog.FileName := FSaveDialog.FileName + '.' + Ext;
            if FileExists(FSaveDialog.FileName) then
            begin
              if application.MessageBox('文件名已存在,是否覆盖   ', '提示', MB_ICONASTERISK or MB_OKCANCEL)<>idok then
                exit;
            end;
           Screen.Cursor := crHourGlass;
           SaveDBGridEhToExportFile(ExpClass,DgEh,FSaveDialog.FileName,true);
           Screen.Cursor := crDefault;
           MessageBox(Handle, '导出成功  ', '提示', MB_OK +
             MB_ICONINFORMATION);
          end;
      end;
      FSaveDialog.Destroy;
    end;
  except
    on e: exception do
    begin
      Application.MessageBox(PChar(e.message), '错误', MB_OK + MB_ICONSTOP);
    end;
  end;
end;

 









本文转自鹅倌51CTO博客,原文链接: http://blog.51cto.com/kaixinbuliao/956011如需转载请自行联系原作者






相关文章
|
7月前
|
数据库连接 数据库 数据安全/隐私保护
FlaskMigrate使用指南
**Flask-Migrate** 是一个整合 Flask、SQLAlchemy 和 Alembic 的扩展,用于管理数据库迁移。安装所需库:`pip install Flask mysql-connector-python Flask-SQLAlchemy Flask-Migrate`。
248 0
|
SQL Java 关系型数据库
JPA 之 QueryDSL-JPA 使用指南2
JPA 之 QueryDSL-JPA 使用指南2
844 1
|
SQL Java 数据库连接
JPA 之 QueryDSL-JPA 使用指南
JPA 之 QueryDSL-JPA 使用指南
547 0
|
Java 索引 安全
[Mvel]Mvel2.0使用指南一 基础
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/75244442 MVEL在很大程度上受到Java语法的启发,作为一个表达式语言,也有一些根本的区别,旨在更高的效率,例如:直接支持集合、数组和字符串匹配等操作以及正则表达式。
14467 0
|
程序员
762.【chatGTP使用指南】关于使用它的两个实用小技巧
762.【chatGTP使用指南】关于使用它的两个实用小技巧
392 0
Crowdin 使用指南
Crowdin 使用指南
310 0
|
存储 IDE 数据挖掘
R语言-安装使用指南
R语言-安装使用指南
386 0
R语言-安装使用指南
|
IDE Serverless 开发工具
WebIDE 使用指南
背景 为了解决函数计算本地环境差异和配置繁琐的问题,在此背景下,就有了我们的 WebIDE 产品,WebIDE 能让函数的开发、测试和部署更加流畅,进一步降低了函数计算的学习成本和进一步缩短了函数的开发周期。
16641 2
|
缓存 JavaScript 前端开发
YSlow使用指南_最新2.0使用指南中文版
YSlow分析网页,并提出如何提高其性能的基础上一套规则,高性能的网页。我搜索一下”Yslow使用说明“,发现都是旧版本Yslow的使用介绍。于是翻译了一下yahoo官方关于新版Yslow的的使用帮助,希望给初次使用Yslow的朋友一些帮助。
2445 0