📄 cxvgrid.pas
字号:
procedure SetOptions(Value: TcxEditorRowPropertiesOptions);
procedure SetRepositoryItem(Value: TcxEditRepositoryItem);
procedure SetValue(const Value: Variant);
// events delegation
function GetOnGetEditingProperties: TcxVerticalGridGetEditPropertiesEvent;
function GetOnGetEditProperties: TcxVerticalGridGetEditPropertiesEvent;
procedure SetOnGetEditingProperties(Value: TcxVerticalGridGetEditPropertiesEvent);
procedure SetOnGetEditProperties(Value: TcxVerticalGridGetEditPropertiesEvent);
protected
function GetInplaceEditContainerClass: TcxCellEditClass; virtual;
procedure DoGetDisplayTextEvent(ARecordIndex: Integer; var Text: string); virtual;
property EditContainer: TcxCellEdit read FEditContainer;
property EditViewData: TcxCustomEditViewData read GetEditViewData;
property IEditorPropertiesContainer: IcxEditorPropertiesContainer
read GetIEditorPropertiesContainer implements IcxEditorPropertiesContainer;
property DataBinding: TcxItemDataBinding read GetDataBinding write SetDataBinding;
property Options: TcxEditorRowPropertiesOptions read GetOptions write SetOptions;
property Value: Variant read GetValue write SetValue;
property OnGetDisplayText: TcxVerticalGridGetDisplayTextEvent read FOnGetDisplayText write FOnGetDisplayText;
property OnGetEditProperties: TcxVerticalGridGetEditPropertiesEvent read GetOnGetEditProperties write SetOnGetEditProperties;
property OnGetEditingProperties: TcxVerticalGridGetEditPropertiesEvent read GetOnGetEditingProperties write SetOnGetEditingProperties;
public
constructor CreateEx(ARow: TcxCustomRow); override;
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
property DisplayEditProperties[Index: Integer]: TcxCustomEditProperties read GetDisplayEditProperty;
property DisplayTexts[Index: Integer]: string read GetDisplayText;
property EditPropertiesClass: TcxCustomEditPropertiesClass read GetEditPropertiesClass write SetEditPropertiesClass;
property ItemIndex: Integer read GetItemIndex;
property ItemLink: TObject read GetItemLink;
property Values[Index: Integer]: Variant read GetValueByIndex;
published
property EditPropertiesClassName: string read GetEditPropertiesClassName write SetEditPropertiesClassName;
property EditProperties: TcxCustomEditProperties read GetEditProperties write SetEditProperties;
property RepositoryItem: TcxEditRepositoryItem read GetRepositoryItem write SetRepositoryItem;
end;
TcxEditorRowPropertiesClass = class of TcxCustomEditorRowProperties;
{ TcxEditorRowProperties }
TcxEditorRowProperties = class(TcxCustomEditorRowProperties)
public
procedure Assign(Source: TPersistent); override;
published
property DataBinding;
property Options;
property Value;
property OnGetDisplayText;
property OnGetEditProperties;
property OnGetEditingProperties;
end;
{ TcxCustomEditorRow }
TcxCustomEditorRow = class(TcxCustomRow)
private
FEditPropertiesEvents: TNotifyEvent;
FPropertiesEvents: TNotifyEvent;
function GetProperties: TcxCustomEditorRowProperties;
function GetStyles: TcxEditorRowStyles;
procedure SetProperties(Value: TcxCustomEditorRowProperties);
procedure SetStyles(Value: TcxEditorRowStyles);
protected
function CanFocus: Boolean; override;
function EditContainer: TcxCellEdit;
function GetDefaultHeight: Integer; override;
function GetEditContainer(ACellIndex: Integer): TcxCellEdit; override;
function GetEditContainerCount: Integer; override;
function GetPropertiesClass: TcxRowPropertiesClass; override;
function GetStylesClass: TcxvgCustomRowStylesClass; override;
procedure SetParentComponent(Value: TComponent); override;
procedure SetVerticalGrid(Value: TcxCustomVerticalGrid); override;
property Styles: TcxEditorRowStyles read GetStyles write SetStyles;
property Properties: TcxCustomEditorRowProperties read GetProperties write SetProperties;
public
function CreateHeaderInfo: TcxCustomRowHeaderInfo; override;
function CreateViewInfo: TcxCustomRowViewInfo; override;
published
property EditPropertiesEvents: TNotifyEvent read FEditPropertiesEvents write FEditPropertiesEvents;
property Options;
property PropertiesEvents: TNotifyEvent read FPropertiesEvents write FPropertiesEvents;
end;
{ TcxEditorRow }
TcxEditorRow = class(TcxCustomEditorRow)
private
function GetProperties: TcxEditorRowProperties;
procedure SetProperties(Value: TcxEditorRowProperties);
protected
function GetPropertiesClass: TcxRowPropertiesClass; override;
published
property Expanded;
property Height;
property Options;
property Properties: TcxEditorRowProperties read GetProperties write SetProperties;
property Styles;
property Visible;
end;
{ TcxMultiEditorRow }
TSeparatorKind = (skVertLine, skString);
{ TSeparatorInfo }
TSeparatorInfo = record
Width: Integer;
Kind: TSeparatorKind;
Caption: string;
TextFlags: Integer;
ViewParams: TcxViewParams;
end;
{ TcxMultiEditorRowPropertiesOptions }
TcxMultiEditorRowPropertiesOptions = class(TcxCustomEditContainerItemOptions)
published
property Editing;
property Filtering;
property Focusing;
property IncSearch;
property ShowEditButtons;
property TabStop;
end;
{ TcxCollectionItemEditorRowProperties }
TcxCollectionItemEditorRowProperties = class(TcxCustomEditorRowProperties)
private
FEditPropertiesEvents: TNotifyEvent;
FWidth: Integer;
function GetOptions: TcxMultiEditorRowPropertiesOptions;
procedure SetOptions(Value: TcxMultiEditorRowPropertiesOptions);
procedure SetWidth(Value: Integer);
protected
function GetDisplayName: string; override;
function GetOwner: TPersistent; override;
property Options: TcxMultiEditorRowPropertiesOptions read GetOptions write SetOptions;
public
constructor CreateEx(ARow: TcxCustomRow); override;
procedure Assign(Source: TPersistent); override;
published
property EditPropertiesEvents: TNotifyEvent read FEditPropertiesEvents write FEditPropertiesEvents;
property Width: Integer read FWidth write SetWidth default 50;
end;
{ TcxEditorRowItemProperties }
TcxEditorRowItemProperties = class(TcxCollectionItemEditorRowProperties)
public
procedure Assign(Source: TPersistent); override;
published
property DataBinding;
property Options;
property Value;
property OnGetDisplayText;
property OnGetEditProperties;
property OnGetEditingProperties;
end;
{ TcxEditorPropertiesCollection }
TcxEditorPropertiesCollection = class(TCollection)
private
FRow: TcxCustomMultiEditorRow;
function GetItem(Index: Integer): TcxEditorRowItemProperties;
protected
function GetCollectionItemClass: TCollectionItemClass; virtual;
function GetOwner: TPersistent; override;
procedure Update(Item: TCollectionItem); override;
public
constructor Create(ARow: TcxCustomMultiEditorRow); reintroduce; virtual;
function Add: TcxEditorRowItemProperties;
function GetNamePath: string; override;
property Items[Index: Integer]: TcxEditorRowItemProperties read GetItem; default;
property Row: TcxCustomMultiEditorRow read FRow;
end;
TcxEditorPropertiesCollectionClass = class of TcxEditorPropertiesCollection;
{ TcxMultiEditorRowProperties }
TcxMultiEditorRowProperties = class(TcxCustomRowProperties)
private
FFixed: Boolean;
FEditors: TcxEditorPropertiesCollection;
FSeparatorAlignmentVert: TcxAlignmentVert;
FSeparatorKind: TSeparatorKind;
FSeparatorString: string;
procedure SetFixed(Value: Boolean);
procedure SetSeparatorAlignmentVert(Value: TcxAlignmentVert);
procedure SetSeparatorKind(Value: TSeparatorKind);
procedure SetSeparatorString(const Value: string);
protected
function GetCollectionClass: TcxEditorPropertiesCollectionClass; virtual;
function GetOwner: TPersistent; override;
public
constructor CreateEx(ARow: TcxCustomRow); override;
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
published
property Editors: TcxEditorPropertiesCollection read FEditors write FEditors;
property Fixed: Boolean read FFixed write SetFixed default False;
property SeparatorAlignmentVert: TcxAlignmentVert read FSeparatorAlignmentVert
write SetSeparatorAlignmentVert default vaTop;
property SeparatorKind: TSeparatorKind read FSeparatorKind
write SetSeparatorKind default skVertLine;
property SeparatorString: string read FSeparatorString write SetSeparatorString;
end;
{ TcxCustomMultiEditorRow }
TcxCustomMultiEditorRow = class(TcxCustomRow)
private
function GetProperties: TcxMultiEditorRowProperties;
function GetStyles: TcxEditorRowStyles;
procedure SetProperties(const Value: TcxMultiEditorRowProperties);
procedure SetStyles(Value: TcxEditorRowStyles);
protected
function CanFocus: Boolean; override;
function GetDefaultHeight: Integer; override;
function GetEditContainer(ACellIndex: Integer): TcxCellEdit; override;
function GetEditContainerCount: Integer; override;
function GetPropertiesClass: TcxRowPropertiesClass; override;
function GetStylesClass: TcxvgCustomRowStylesClass; override;
property Styles: TcxEditorRowStyles read GetStyles write SetStyles;
property Properties: TcxMultiEditorRowProperties read GetProperties write SetProperties;
public
function CreateHeaderInfo: TcxCustomRowHeaderInfo; override;
function CreateViewInfo: TcxCustomRowViewInfo; override;
end;
{ TcxMultiEditorRow }
TcxMultiEditorRow = class(TcxCustomMultiEditorRow)
published
property Expanded;
property Height;
property Options;
property Properties;
property Styles;
property Visible;
end;
{ TcxVerticalGridRows }
TcxVerticalGridRows = class
private
FList: TList;
FLockCount: Integer;
FNextID: Integer;
FOwner: TcxCustomVerticalGrid;
FCount: Integer;
function GetCount: Integer;
function GetRoot: TcxCustomRow;
function GetRow(Index: Integer): TcxCustomRow;
procedure SetRow(Index: Integer; const Value: TcxCustomRow);
protected
procedure Add(ARow: TcxCustomRow);
procedure AddChild(AParent, ARow: TcxCustomRow);
procedure BeginUpdate;
procedure Changed(ARebuild: Boolean = False); virtual;
procedure CheckList;
procedure Clear;
procedure EndUpdate;
function FindRowByID(AID: Integer): TcxCustomRow;
function FindRowByStoredName(const AName: string): TcxCustomRow;
function GetNextID: Integer;
procedure PrepareList;
procedure Remove(ARow: TcxCustomRow);
procedure RestoreDefaults;
procedure UnprepareList;
property Root: TcxCustomRow read GetRoot;
property Owner: TcxCustomVerticalGrid read FOwner;
public
constructor Create(AOwner: TcxCustomVerticalGrid);
destructor Destroy; override;
procedure AssignRows(Source: TcxVerticalGridRows);
function IndexOf(ARow: TcxCustomRow): Integer;
property Count: Integer read GetCount;
property Items[Index: Integer]: TcxCustomRow read GetRow write SetRow; default;
end;
TcxvgUnboundLayoutStyle = (ulsBandsView, ulsSingleRecordView);
TcxvgLayoutStyle = (lsBandsView, lsSingleRecordView, lsMultiRecordView);
{ TBandInfoList }
TBandInfo = record
BandIndex: Integer;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -