Delphi下EasyGrid使用体会

最近在编写软件的时候,非常需要一款支持多表头的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,即可立即显示出内容。

posted on 2017-03-02 10:19  癫狂编程  阅读(1590)  评论(0编辑  收藏  举报

导航

好的代码像粥一样,都是用时间熬出来的