delphi 自带的stringgrid在设计期,给第一行各列添加一个表头。
经过实验, 从Tstringgrid派生一个类,TMystrgrid, 增加一个collection属性,FLISTPROPS,
tlistprops从TCOLLECTION继承,添加一个FOWNER字段,如下
type
TListProps = class; // 这个类是用于表示该List属性的集合类型
TMyStrGrid = class(TStringGrid)
private
FRowHeaders: TStringList;
FListProps: TListProps;
procedure SetListProps(const Value: TListProps);
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: Tcomponent); override;
destructor Destroy; override;
published
{ Published declarations }
property ListProps: TListProps read FListProps write SetListProps;
// List属性集合表示每列的表头字段
end;
TListItem = class(TCollectionItem)
private
FCaption: string;
proc