Unit rStringGridEd

Description

rStringGridEd unit contains TrStringGridEd - enhanced StringGrid component which provides similar function as DBGrid - introduce Columns property for setting and storing of properties for each column.

List of new functions: - introduce Columns property for setting and storing of properties for each column (Columns items are created automatically according ColCount value) - provides new types of editors = DropDown, DropDownList, DropDownColor, DropDownCheckList, Checkbox, DatePicker, Ellipsis, Button - can show any column as boolean checkbox with defineable TRUE FALSE values - support multiline title, cell text and editors - each column has definable Datatype, NumFormat, MinMax values - shows complete text as hint for truncated text in cell and for memo field - introduces event for getting properties for each cell individually (datatype, editorstyle, canedit, numformat) - supports automatic addition of new rows - supports auto height for rows and width for columns - supports range selection in Edit mode with row/column selection by fixed cell click - supports drag and drop - supports Copy/Paste function in MSExcel format - supports data sorting - introduces event for click on fixed cells - introduces event for getting of PickList items - introduces event for setting Font and Color of any cell - introduces event for custom hint on any cell - provide 3D effect and gradient fill for fixed cells

Hot keys for editors: F2 - show / hide editor; F4 - show/hide dropdownlist or click to ellipsis button Alt+Down - show dropdownlist or click to ellipsis button; Space - change checkbox; Enter - select item from Listbox

Updated version compatible with Delphi2010+ and 64bit platform. Splash screen in demo version.

Overview

Classes, Interfaces, Objects and Records

Name Description
Record TDataImageDef data image record used by TrStringGridEd and TrDBGrid
Class TrDataBar DataBar class used by TrStringGridEdColumn
Class TrStatusBar StatusBar class used by TrStringGridEdColumn
Class TrStringGridEdColumn collection item containing all column properties
Class TrStringGridEdColumns collection of TrStringGridEdColumn used by TrStringGridEd
Class TrStringGridEdInplaceEdit enhanced TInplaceEdit used by TrStringGridEd
Record TGeneralEventRec general event record used as parameter for TGeneralEventType
Class TCustomGridHelper  
Class TrStringGridEd enhanced TStringGrid component which introduce Columns property for setting and storing of properties for each column

Types

TrStringGridEdColumnClass = class of TrStringGridEdColumn;
TrStringGridEdEditStyle = (...);
TrStringGridEdDataType = (...);
TrStringGridEdDataState = (...);
TrStringGridEdInvalidDataAction = (...);
TOptionEx = (...);
TOptionsEx = set of TOptionEx;
TCustomEditorAction = (...);
TCustomEditorCreate = procedure(Sender: TObject; var CustomEditor: TWinControl) of object;
TCustomEditorEvent = procedure(Sender: TObject; CustomEditor: TWinControl; Action: TCustomEditorAction; var Value: string; var Done: boolean) of object;
TrStringGridEdCellEvent = procedure(Sender: TObject; Col, Row: longint) of object;
TrStringGridEdEditorEvent = procedure(Sender: TObject; Col, Row: longint; ActionID: string) of object;
TrStringGridEdDropdownEvent = procedure(Sender: TObject; Col, Row: longint; var PickList: TStringList) of object;
TGetCellParamsEvent = procedure(Sender: TObject; Col, Row: longint; AFont: TFont; var Background: TColor; var Highlight: boolean) of object;
TGetCellParamsEventEx = procedure(Sender: TObject; Col, Row: longint; AFont: TFont; var Background: TColor; var Highlight: boolean; var DataImageDef: TDataImageDef) of object;
TGetHintText = procedure(Sender: TStringGrid; X, Y: integer; var Hint: string) of object;
TGetDataTypeEvent = procedure(Sender: TObject; Col, Row: longint; var DataType: TrStringGridEdDataType) of object;
TGetEditStyleEvent = procedure(Sender: TObject; Col, Row: longint; var EditStyle: TrStringGridEdEditStyle) of object;
TCanEditEvent = procedure(Sender: TObject; Col, Row: longint; var CanEdit: boolean) of object;
TGetNumFormat = procedure(Sender: TObject; Col, Row: longint; var NumFormat: string) of object;
TGetEllipsisButtonFormat = procedure(Sender: TObject; Col, Row: longint; var ButtonWidth: integer; var Glyph: TBitmap) of object;
TOnColumnRestoreDefault = procedure(Column: TrStringGridEdColumn) of object;
TOnProgress = procedure(Sender: TObject; ActionType: string; Percent: double; var Aborted: boolean) of object;
TGeneralEventType = (...);
TGeneralEvent = procedure(Sender: TObject; EventType: TGeneralEventType; var EventParam: TGeneralEventRec; var ContinueEvent: boolean) of object;
TCellPosition = (...);

Constants

FieldListSep = ';';

Description

Types

TrStringGridEdColumnClass = class of TrStringGridEdColumn;
 
TrStringGridEdEditStyle = (...);

list of editor types used by TrStringGridEd

Values
  • sgbNone
  • sgbEllipsis
  • sgbEllipsisOnly
  • sgbDropDown
  • sgbDropDownList
  • sgbDropDownColor
  • sgbCheckbox
  • sgbDateTimePicker
  • sgbDropDownCheckList
  • sgbDropDownCheckListOnly
  • sgbDropDownDataImage
  • sgbButton
  • sgbRichText
  • sgbCustomEditor
TrStringGridEdDataType = (...);

list of data types used by TrStringGridEd

Values
  • sgdText
  • sgdNumber
  • sgdInteger
  • sgdDate
  • sgdTime
  • sgdDateTime
  • sgdDataBar
  • sgdStatusBar
TrStringGridEdDataState = (...);

list of data statuses used by TrStringGridEd

Values
  • sdsOk
  • sdsEmpty
  • sdsInvalid
  • sdsOutOfLimit
TrStringGridEdInvalidDataAction = (...);

list of invalid data actions used by TrStringGridEd

Values
  • sgaNone
  • sgaHighlight
  • sgaBeep
TOptionEx = (...);

list of enhanced Option properties used by TrStringGridEd

Values
  • dgDragCell
  • dgSelectRange
  • dgAlwaysShowSelection
  • dgEditArrowKeyMoveCell
  • dgShowTitleBold
  • dgColorChangedCells
  • dgSortAfterTitleClick
  • dgSortFixedCol
  • dgSortShowProgress
  • dgResizeLastColumn
  • dgNextRowAfterReturn
  • dgCopyPasteHiddenColumns
  • dgSkipCellHighlight
TOptionsEx = set of TOptionEx;

set of enhanced Option properties used by TrStringGridEd

TCustomEditorAction = (...);

list of possible action for CustomEditor events

Values
  • ceaSetValue
  • ceaGetValue
  • ceaShow
  • ceaHide
TCustomEditorCreate = procedure(Sender: TObject; var CustomEditor: TWinControl) of object;

event type for creating of CustomEditor

TCustomEditorEvent = procedure(Sender: TObject; CustomEditor: TWinControl; Action: TCustomEditorAction; var Value: string; var Done: boolean) of object;

event type for CustomEditor action

TrStringGridEdCellEvent = procedure(Sender: TObject; Col, Row: longint) of object;

event type for TrStringGridEd cell

TrStringGridEdEditorEvent = procedure(Sender: TObject; Col, Row: longint; ActionID: string) of object;

event type for TrStringGridEd Editor event

TrStringGridEdDropdownEvent = procedure(Sender: TObject; Col, Row: longint; var PickList: TStringList) of object;

event type for TrStringGridEd dropdown list

TGetCellParamsEvent = procedure(Sender: TObject; Col, Row: longint; AFont: TFont; var Background: TColor; var Highlight: boolean) of object;

event type for TrStringGridEd cell parameters

TGetCellParamsEventEx = procedure(Sender: TObject; Col, Row: longint; AFont: TFont; var Background: TColor; var Highlight: boolean; var DataImageDef: TDataImageDef) of object;

event type for TrStringGridEd cell extended parameters

TGetHintText = procedure(Sender: TStringGrid; X, Y: integer; var Hint: string) of object;

event type for TrStringGridEd hint

TGetDataTypeEvent = procedure(Sender: TObject; Col, Row: longint; var DataType: TrStringGridEdDataType) of object;

event type for TrStringGridEd data type

TGetEditStyleEvent = procedure(Sender: TObject; Col, Row: longint; var EditStyle: TrStringGridEdEditStyle) of object;

event type for TrStringGridEd style type

TCanEditEvent = procedure(Sender: TObject; Col, Row: longint; var CanEdit: boolean) of object;

event type for TrStringGridEd edit

TGetNumFormat = procedure(Sender: TObject; Col, Row: longint; var NumFormat: string) of object;

event type for TrStringGridEd cell numeric format

TGetEllipsisButtonFormat = procedure(Sender: TObject; Col, Row: longint; var ButtonWidth: integer; var Glyph: TBitmap) of object;

event type for TrStringGridEd ellipsis format

TOnColumnRestoreDefault = procedure(Column: TrStringGridEdColumn) of object;

event type for TrStringGridEd column restore

TOnProgress = procedure(Sender: TObject; ActionType: string; Percent: double; var Aborted: boolean) of object;

event type for TrStringGridEd progress event

TGeneralEventType = (...);

general event type used by TrStringGridEd

Values
  • geChangeScaleBefore
  • geChangeScaleAfter
  • geSetColumnWidth
  • geGetDataBarParam
  • geGetStatusBarParam
  • geCellObjectClick
  • geCellObjectDblClick
  • gePasteDataBefore
  • gePasteDataAfter
TGeneralEvent = procedure(Sender: TObject; EventType: TGeneralEventType; var EventParam: TGeneralEventRec; var ContinueEvent: boolean) of object;

event is called in many events to add posibility of any custom code and to skip rest of the standard event used by TrStringGridEd

TCellPosition = (...);
 
Values
  • cpInvalid
  • cpFixedColRow
  • cpFixedRow
  • cpFixedCol
  • cpNotFixed

Constants

FieldListSep = ';';
 

Author

Created

Apr 2009

Last Modified

Feb 2021


Generated by PasDoc 0.15.0.