博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
阅读量:5214 次
发布时间:2019-06-14

本文共 2720 字,大约阅读时间需要 9 分钟。

TStringGrid、TGrid 都是从 TCustomGrid 继承; 区别有:
1、它们的列对象分别是: TStringColumn、TColumn;
2、TStringGrid 比 TGrid 多出了 Cells[] 属性.
因为 TGrid 没有 Cells[] 属性, 暂时不方便使用; 我尝试取其当前单元值时竟然用了这样的代码:
(Grid1.Columns[Grid1.ColumnIndex].CellControlByRow(Grid1.Selected) as TTextCell).Text
TStringGrid 测试:

{ 设计时放好 StringGrid1, 运行时填充数据 }procedure TForm1.FormCreate(Sender: TObject);var  i,c,r: Integer;begin  StringGrid1.AlternatingRowBackground := True;  StringGrid1.UseSmallScrollBars := True;  for i := 0 to 5 do //从设计时添加列比这方便  begin    with TStringColumn.Create(Self) do    begin      Parent := StringGrid1;      Width := StringGrid1.ClientWidth / 6;    end;  end;  StringGrid1.RowCount := 20;  for c := 0 to StringGrid1.ColumnCount - 1 do    for r := 0 to StringGrid1.RowCount - 1 do      StringGrid1.Cells[c, r] := Format('%d,%d', [c, r]);end;{ 取当前单元值 }procedure TForm1.Button1Click(Sender: TObject);begin  ShowMessage(StringGrid1.Cells[StringGrid1.ColumnIndex, StringGrid1.Selected]);end;

成员概览:

{ TCustomGrid }public  constructor Create(...); override;        //  destructor Destroy; override;             //  function ColumnByIndex(...): TColumn;     //根据索引获取列对象  function ColumnByPoint(...): TColumn;     //根据位置获取列对象  function RowByPoint(...): Integer;        //根据位置获取行号  procedure AddObject(...); override;       //  property TopRow: Integer ...;             //获取可见的首行的行号  property VisibleRows: Integer ...;        //获取可见的行总数  property ColumnCount: Integer ...;        //列数(也是只读)  property ColumnIndex: Integer ...;        //获取或设置列索引  property Columns[Index: Integer]: TColumn ...; //以数组索引的方式获取列对象  property RowCount: Integer ...;           //行数(可读写)  property Selected: Integer ...;           //当前行号  property OnGetValue: TOnGetValue ...;     //取值时  property OnSetValue: TOnSetValue ...;     //赋值时published  property StyleLookup;                     //  property AlternatingRowBackground: Boolean ...; //是否使用交替背景; 默认 False  property CanFocus default True;           //  property DisableFocusEffect default True; //是否取消焦点特效  property RowHeight: Single ...;           //行高  property ShowSelectedCell: Boolean ...;   //是否呈现单元选择效果; 默认 True  property ShowVertLines: Boolean ...;      //是否显示竖格线  property ShowHorzLines: Boolean ...;      //是否显示横格线  property ShowHeader: Boolean ...;         //是否显示表格头  property ReadOnly: Boolean ...;           //是否只读; 默认 False  property TabOrder;                        //  property OnEdititingDone: TOnEdititingDone ...; //输入时end;{ TGrid }TGrid = class(TCustomGrid)published  property RowCount;   //  property OnGetValue; //  property OnSetValue; //end;{ TStringGrid }public  property Cells[ACol, ARow: Integer]: string ...; //published  property RowCount;   //end;

转载于:https://www.cnblogs.com/dzdd/p/3346956.html

你可能感兴趣的文章
siebel 中 join 使用心得
查看>>
剑指Offer:重建二叉树
查看>>
MyBatis课程2
查看>>
桥接模式-Bridge(Java实现)
查看>>
java面试题之hashcode相等两个类一定相等吗?equals呢?相反呢?
查看>>
[leetcode]Generate Parentheses
查看>>
svn客户端清空账号信息的两种方法
查看>>
springboot添加servlet的两种方法
查看>>
java的Array和List相互转换
查看>>
win7安装IIS
查看>>
java获取当前项目路径System.getProperty("user.dir")
查看>>
idea关闭sonarLint自动扫描
查看>>
java的byte[]与String相互转换
查看>>
idea打开Run Dashboard
查看>>
java注解简单使用
查看>>
【转】Axure RP9.0.0.3661Team Edition激活码
查看>>
springboot集成mybatisplus小例子
查看>>
jqGrid设置单选
查看>>
mysql查看和修改最大连接数
查看>>
【转】查看电脑显卡型号及显卡性能
查看>>