DBGridEh使用指南改变边框颜色
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使用指南改变边框颜色的更多相关文章
- Android EditText 改变边框颜色
第一步:为了更好的比较,准备两个一模一样的EditText(当Activity启动时,焦点会在第一个EditText上,如果你不希望这样只需要写一个高度和宽带为0的EditText即可避免,这里就不这 ...
- VS中基于对话框的MFC利用换肤改变边框颜色及格式
第一版本: http://ishare.iask.sina.com.cn/f/13836420.html?from=like 2. http://www.cnblogs.com/phinecos/ar ...
- Delphi给窗体镶边-为控件加边框,描边,改变边框颜色
PS:因为我现在用的电脑是WIN7 64位系统,所以没有实现功能,不知道XP是否可行. //1.定义方法 procedure WMNCPaint(var Msg : TWMNCPaint); mess ...
- Winform改变Textbox边框颜色(转)
namespace MyTextBoxOne { //使用时必须把文本框的BorderStyle为FixedSingle才能使用 //一些控件(如TextBox.Button等)是由系统进程绘制,重载 ...
- 整理悬浮在列表中a元素时改变a元素上下边框颜色的问题。
整理一下当悬浮在a元素上时a的上下边颜色改变,并且里面的内容不会移动,下面是PSD图效果区域: 刚开始我先给A元素加了上下边框和颜色,利用a:hover改变a元素上下的边框颜色,但是第一个a元素的下边 ...
- Winform改变Textbox边框颜色
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- input 边框颜色
border 的属性 有三个 border:5px solid red; 如果上述值缺少一个没有关系,例如border:#FF0000;是允许的. 分别对应:border-width, border- ...
- HTML快速入门5——不规则表格、表格背景、边框颜色
转自:http://blog.csdn.net/ysuncn/article/details/2214153 不规则表格 例子: <table border=1><tr>< ...
- android动态设置边框颜色
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
随机推荐
- Source Insight 有用设置配置
source insight代码对齐Tab键终极版 以前也写过一个source insight代码对齐,由于自己理解不够深刻,只能解决部分问题,不能根治在source insight中对齐的代码在XX ...
- 【Android】Android布局文件的一些属性值
第一类:属性值 true或者 false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 androi ...
- Oracle 创建分区表
--查看数据库中所有用户的分区表 SELECT * FROM DBA_TABLES WHERE PARTITIONED='YES' AND OWNER NOT IN ('SYSTEM','SYS') ...
- stm32+rx8025
// 设备读写地址 #define RX8025_ADDR_READ 0x65 #define RX8025_ADDR_WRITE ...
- winform 操作注册表提示没有权限解决办法
1.打开VS2005.VS2008.VS2010.VS2012.VS2013.VS2015工程,查看工程文件夹中的Properties文件夹下是否有app.manifest这个文件:如没有,按如下方式 ...
- Java知多少(33)多态对象的类型转换
这里所说的对象类型转换,是指存在继承关系的对象,不是任意类型的对象.当对不存在继承关系的对象进行强制类型转换时,java 运行时将抛出 java.lang.ClassCastException 异常. ...
- eBGP&iBGP 总结
3.4 BGP 原文地址:http://mp.weixin.qq.com/s?src=3×tamp=1500043305&ver=1&signature=XwiIVV ...
- Oracle调整内存超出限制出现ORA-27100: shared memory realm already exists问题解决办法
今天测试服务器遇到问题 ORA-04030:out of process memory when trying to allocate string bytes 一看就猜到是内存不足了,把Oracle ...
- ubuntu下mysql远程连接和访问慢的解决方法
原本连接很快的mysql服务器,连接速度奇慢.以前几十毫秒的连接现在完成一次要近5秒钟,在排除了网络问题后,只有从mysql下手.原来每次访问db,mysql就会试图去解析来访问的机器的domain ...
- README.md文件编辑
111 蜗牛图片管理系统 =============== ## 安装环境 >+ thinkphp版本: >+ php版本:.0以上 >+ 需要安装在服务器环境,免费使用 ### 特点 ...