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;

DBGridEh使用指南改变边框颜色的更多相关文章

  1. Android EditText 改变边框颜色

    第一步:为了更好的比较,准备两个一模一样的EditText(当Activity启动时,焦点会在第一个EditText上,如果你不希望这样只需要写一个高度和宽带为0的EditText即可避免,这里就不这 ...

  2. VS中基于对话框的MFC利用换肤改变边框颜色及格式

    第一版本: http://ishare.iask.sina.com.cn/f/13836420.html?from=like 2. http://www.cnblogs.com/phinecos/ar ...

  3. Delphi给窗体镶边-为控件加边框,描边,改变边框颜色

    PS:因为我现在用的电脑是WIN7 64位系统,所以没有实现功能,不知道XP是否可行. //1.定义方法 procedure WMNCPaint(var Msg : TWMNCPaint); mess ...

  4. Winform改变Textbox边框颜色(转)

    namespace MyTextBoxOne { //使用时必须把文本框的BorderStyle为FixedSingle才能使用 //一些控件(如TextBox.Button等)是由系统进程绘制,重载 ...

  5. 整理悬浮在列表中a元素时改变a元素上下边框颜色的问题。

    整理一下当悬浮在a元素上时a的上下边颜色改变,并且里面的内容不会移动,下面是PSD图效果区域: 刚开始我先给A元素加了上下边框和颜色,利用a:hover改变a元素上下的边框颜色,但是第一个a元素的下边 ...

  6. Winform改变Textbox边框颜色

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. input 边框颜色

    border 的属性 有三个 border:5px solid red; 如果上述值缺少一个没有关系,例如border:#FF0000;是允许的. 分别对应:border-width, border- ...

  8. HTML快速入门5——不规则表格、表格背景、边框颜色

    转自:http://blog.csdn.net/ysuncn/article/details/2214153 不规则表格 例子: <table border=1><tr>< ...

  9. android动态设置边框颜色

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...

随机推荐

  1. 本地搭建Wooyun漏洞库环境

    众所周知,wooyun上有太多含金量的漏洞了,虽然互联网上也有相关的漏洞资源分享,但是万一有朝一日也被和谐了就又麻烦了,最放心的方式就是漏洞库放在本地,在本地搭建一套环境最好不过了,以下操作演示了如何 ...

  2. 还原Stack操作

    下午看到一题.给定两个int[]数组,int[] org和int[] res, 分别代表一串数字,和这串数字经过stack的push 和 pop操作之后的数字,让返回一个String, String里 ...

  3. Java知多少(75)Object类

    Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来. 定义Java类时如果没有显示的指明父类,那么就默认继承了 Object 类.例如: p ...

  4. (诊断)No module named MySQLdb

    启动Keystone同步数据库时提示: -- :: TRACE keystone File , in dbapi -- :: TRACE keystone return __import__('MyS ...

  5. Guava学习笔记(三):集合

    添加Maven依赖 ListsTest import com.google.common.collect.Lists; import org.hamcrest.core.Is; import org. ...

  6. Android 使用ColorMatrix改变图片颜色

    原文链接:http://blog.csdn.net/janice0529/article/details/49207939 ColorMatrix的颜色矩阵介绍 颜色矩阵M是一个5*4的矩阵,在And ...

  7. Xcode 8.0 新特性 & Swift 3.0 增加的变动

    从 Xcode 8.0 开始,目前所有的插件都无法工作! NSLog 无法输出 -- 此bug等待正式版本... Xcode 提供了文档注释快捷键option + cmd + / 但是要把系统升级到1 ...

  8. Java并发之volatile二

    使用volatilekeyword的场景 Volatile 变量具有 synchronized 的可见性特性.可是不具备原子特性.这就是说线程可以自己主动发现 volatile 变量的最新值.Vola ...

  9. PHP实现删除非站内外部链接实例代码

    /** *  删除非站内链接 * * @access    public * @param     string  $body  内容 * @param     array  $allow_urls  ...

  10. E - Coin Game

    After hh has learned how to play Nim game, he begins to try another coin game which seems much easie ...