Delphi下EasyGrid使用体会

摘要:
最近在编写软件的时候,非常需要一款支持多表头的StringGrid控件,朋友介绍使用EasyGrid控件,这款控件大概从04年开始就没有再更新,网上有关与它的资料也较少。//AStartCol开始列AStartRow开始行AEndCol结束列AEndRow结束行procedureTForm1.MerrgeCells;varx:TRect;beginx.Top:=AStartCol;x.Left:=AStartRow;x.Bottom:=AEndRow;x.Right:=AEndCol;AEasyGrid.SetMerges;end;调用示例:MerrgeCells表示合并Cells[3,3]与Cells[3,4]这两个单元格。

最近在编写软件的时候,非常需要一款支持多表头的StringGrid控件,朋友介绍使用EasyGrid控件,这款控件大概从04年开始就没有再更新,网上有关与它的资料也较少。但是通过其demo,此软件还是能满足需要,由于资料少,所以将自己在使用过程中的一些体会整理出来。

一、多表头合并

在EasyGrid中提供了SetMerges方法用于多表头合并,该方法原型:procedure TCustomEasyGrid.SetMerges(AMergeRect: TRect; WantPrompt: Boolean = False);

最初我一直没有明白TRect这个类型该如何表示,后来经过多次实验,才知道TRect中Top、Left、Bottom、Right,分别是对应表格中开始Cell与结束Cell。考虑到这种方法不大适合理解,于是编写一个函数来直观表示多单元格合并,代码很简单。

//AStartCol 开始列 AStartRow 开始行 AEndCol 结束列 AEndRow 结束行

procedure TForm1.MerrgeCells(AStartCol, AStartRow, AEndCol,
AEndRow: integer; AEasyGrid: TEasyGrid);
var
x : TRect;
begin
x.Top := AStartCol;
x.Left := AStartRow;
x.Bottom := AEndRow;
x.Right := AEndCol;
AEasyGrid.SetMerges(x);
end;

调用示例:MerrgeCells(3,3,4,3,MyEasyGrid) 表示合并Cells[3,3]与Cells[3,4]这两个单元格。

二、数据显示

EasyGrid是从StringGrid继承而来,很多操作方法因此与StringGrid相似,如像某个单元格赋值Cells[2,2] := ‘Hello’,但在EasyGrid中这样操作后,值却出不来,必须要鼠标点击一下才可。解决方法:在给单元格赋值之后,调用AutoUpdate := True,即可立即显示出内容。

免责声明:文章转载自《Delphi下EasyGrid使用体会》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ApexSQL Log中的Redo Script跟原始SQL不一致问题js的加法操作表下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

R in action读书笔记(15)第十一章 中级绘图 之二 折线图 相关图 马赛克图

第十一章 中级绘图 本节用到的函数有: plot legend corrgram mosaic 11.2折线图 如果将散点图上的点从左往右连接起来,那么就会得到一个折线图。 创建散点图和折线图: > opar<-par(no.readonly=TRUE) > par(mfrow=c(1,2)) > t1<-su...

Bootstrap Table 中文文档(完整翻译版)

表格参数: 名称 标签 类型 默认 描述 - data-toggle String ‘table’ 不用写 JavaScript 直接启用表格。 classes data-classes String ‘table table-hover’ 表格的类名称。默认情况下,表格是有边框的 你可以添加 ‘table-no-bordered’ 来删除...

黄聪:Delphi 中的 XMLDocument 类详解(17) 上一个节点、下一个节点、父节点

unitUnit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;typeTForm1 =class(TForm)XMLD...

delphi中nil、null、UnAssigned区别

nil:空指针,空地址,对象也是指针,所以可以object:=nil;null:null是一个未定义值的变量,既不是0也不代表空字符串,它是未定义的。http://www.delphibasics.co.uk/RTL.asp?Name=Null判断对象为不为空用ifassigned(object)then和ifobject=nilthen都一样可以。 ni...

10分钟10行代码开发APP(delphi 应用案例)

总结一下用到的知识(开发环境安装配置不计算在内): 第六章 使用不同风格的按钮; 第十七章 让布局适应不同大小与方向的窗体; 第二十五章使用 dbExpress访问 InterBase ToGo 第二十九章 从移动客户端连接到企业数据库; 以下是具体制作步骤: 1、创建DataSnap服务VCL应用程序 1.1 创建服务程序 新建一个项目:D...

安卓(TableLayout)

1、特点 公共类TableLayout扩展LinearLayout容器不显示其行、列或单元格的边框线。每一行有零个或多个单元格;每个单元格可以包含一个视图对象该表的列数与包含最多单元格的行的列数相同。一个表可以保留空单元格。单元格可以跨列,就像在HTML中一样。 列的宽度由该列中单元格最宽的行定义。但是,TableLayout可以通过调用setColumn...