Unit rDBGrid

DescriptionUsesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

rDBGrid is enhanced DBGrid component which provides many new functions (show checkboxes, graphics and memo fields, build-in editors, pictures in title row or in data cells, multiple line titles and rows, sorting functions, fiter buttons, grouping fields etc).

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

Overview

Classes, Interfaces, Objects and Records

Name Description
Class TrDBGridInplaceEditEx define inplace editor
Class TTitleLineText define object for setting of text in title of grid
Class TFixedColText define object for setting of text in fixed column
Class TCellParamsCond define object for storing of one condition for cell highlighting
Class TCellParamsCondList define list of conditions for cell highlighting
record TGroupInfo define record for grouped field
record TSummaryResults define record for calculated summary
Class TrDBGridCustomSorter define base component for dataset sorting - must be used as based class for any other dataset sorter
Class TrDBGrid enhanced DBGrid component which provides many new functions (show checkboxes, glyph for graphics and memo fields, build-in editors, pictures in title row or in data cells, multiple line titles, sorting functions etc)

Functions and Procedures

procedure ResortAllGrids(F: TForm; ToFirst: boolean); overload;

Types

TOptionEx = (...);
TOptionsEx = set of TOptionEx;
TGlyphLookStyles = (...);
TLookupCondition = (...);
TColumnWidth = (...);
TSortFieldNames = array of string;
TSortDirections = array of boolean;
TChangeSortEvent = procedure(Sender: TObject; DataSet: TDataSet; SortFieldName: string; SortDesc: boolean; var Accept: boolean) of object;
TChangeSortEventEx = procedure(Sender: TObject; DataSet: TDataSet; SortFieldNames: TSortFieldNames; SortDirections: TSortDirections; var Accept: boolean) of object;
TLinkClickEvent = procedure(Sender: TObject; DataSet: TDataSet; Column: TColumn; Field: TField; Value: Variant) of object;
TLoadPickListEvent = procedure(Sender: TObject; DS: TDataSet; FieldName: string; PickList: TStrings) of object;
TGetHintStringEvent = procedure(Sender: TObject; HintFieldValue, UnderMouseFieldName: string; var HintString: string) of object;
TGetCellParamsEvent = procedure(Sender: TObject; Field: TField; AFont: TFont; var Background: TColor; ActiveRow, Highlight: boolean) of object;
TFormatSumResultEvent = procedure(Sender: TObject; F: TField; SpecStr: string; var Val: double) of object;
TGetFixedColStateEvent = procedure(Sender: TObject; ActiveRow: boolean; AFont: TFont; var Text: string; var CheckBoxChecked: boolean) of object;
TDrawTitleLineEvent = procedure(Sender: TObject; const Rect: TRect; var Text: string) of object;
TSetColumnFilterEvent = procedure(Sender: TObject; DataSet: TDataSet; Field: TField; FilterString: string; FilterForm: TForm) of object;
TScanDatasetEvent = procedure(Sender: TObject; DataSet: TDataSet; Reason: integer) of object;
TColWidthChangedEvent = procedure(Sender: TObject; Column: TColumn; ManualSizing: boolean) of object;
TCellParamsCondOperators = (...);
TCellParamsCondActions = (...);

Constants

MaxBmpArr = 26;
DefBoolValue = '1;0';
RunHTTP = 'http://';
RunMailTo = 'mailto:';
ActualDateAbr = '$Date';
GroupHeaderSep = '::';
FieldListSep = ';';
DataImagesFieldCfg = 'Cfg_Align';
grrColumnWidth = 1;
grrSummaryCalc = 2;
grrQuickLookup = 3;
grrLoadPickList = 4;
grrCopyData = 5;
grrLoadFilterList = 6;

Description

Functions and Procedures

procedure ResortAllGrids(F: TForm; ToFirst: boolean); overload;

find all rDBGrids on form and call Resort procedure for each of them

Types

TOptionEx = (...);

Defines OptionEx properties

Values
  • dgTitleExBtn:  
  • dgTitleBtn:  
  • dgFixColBtn:  
  • dgBool:  
  • dgMemo:  
  • dgMemoShowText:  
  • dgGraphic:  
  • dgGraphicShowImg:  
  • dgDateTimePicker:  
  • dgDrawRowFocus:  
  • dgDrawColoredRow:  
  • dgOneClickCheckbox:  
  • dgAutoSaveCheckBox:  
  • dgHideHScrollBar:  
  • dgNotProcDblClick:  
  • dgNotProcMemoDblClick:  
  • dgNotProcGraphicDblClick:  
  • dgOnlyPickListValues:  
  • dgAllowReadOnlyButton:  
  • dgNotHighlightMultiselect:  
  • dgStandardTabKey:  
  • dgDragCell:  
  • dgUseTitlePopup:  
  • dgAutoPickListWidth:  
  • dgUseCellParamsConditions:  
  • dgFilterButtons:  
  • dgFieldGroups:  
  • dgAlwaysUseFieldGroupColors:  
  • dgAllowPasteMultipleCells:  
TOptionsEx = set of TOptionEx;

Defines ehnanced Option properties

TGlyphLookStyles = (...);
 
Values
  • glsStandard:  
  • glsFlatBlack:  
  • glsFlatGray:  
TLookupCondition = (...);

Defines when AutoLookup is started after key pressing

Values
  • lcNever:  
  • lcBrowse:  
  • lcNotEdit:  
TColumnWidth = (...);

Defines type of automatic changing of columns width

Values
  • cwNone:  
  • cwDefaultWidth:  
  • cwSameWidth:  
  • cwAutoWidth:  
  • cwDataWidth:  
  • cwLabelWidth:  
  • cwDataLabelWidth:  
TSortFieldNames = array of string;
 
TSortDirections = array of boolean;
 
TChangeSortEvent = procedure(Sender: TObject; DataSet: TDataSet; SortFieldName: string; SortDesc: boolean; var Accept: boolean) of object;

Procedure is called after click on title row, application should provide sorting; if "Accept" remains true, "SortFieldName" and "SortDesc" is changed and sort marker is shown, in other case nothing is changed

TChangeSortEventEx = procedure(Sender: TObject; DataSet: TDataSet; SortFieldNames: TSortFieldNames; SortDirections: TSortDirections; var Accept: boolean) of object;

Enhanced procedure supports MultiField sorting Procedure is called after click on title row, application should provide sorting; if "Accept" remains true, "SortFieldName" and "SortDirections" is changed and sort marker is shown, in other case nothing is changed

TLinkClickEvent = procedure(Sender: TObject; DataSet: TDataSet; Column: TColumn; Field: TField; Value: Variant) of object;

Procedure is called after click on link

TLoadPickListEvent = procedure(Sender: TObject; DS: TDataSet; FieldName: string; PickList: TStrings) of object;

Procedure is called to load picklist for particular field - usually by aggregated query

TGetHintStringEvent = procedure(Sender: TObject; HintFieldValue, UnderMouseFieldName: string; var HintString: string) of object;

Procedure is called before showing of hint window to get user defined hint string HintFieldValue contain value of field defined by HintFieldName from record under mouse

TGetCellParamsEvent = procedure(Sender: TObject; Field: TField; AFont: TFont; var Background: TColor; ActiveRow, Highlight: boolean) of object;

Procedure is called to get params of data cell

TFormatSumResultEvent = procedure(Sender: TObject; F: TField; SpecStr: string; var Val: double) of object;

Procedure is called to format calculated value of field (sum, min, max, avg ...)

TGetFixedColStateEvent = procedure(Sender: TObject; ActiveRow: boolean; AFont: TFont; var Text: string; var CheckBoxChecked: boolean) of object;

Procedure is called to get font and text of fixed column cell

TDrawTitleLineEvent = procedure(Sender: TObject; const Rect: TRect; var Text: string) of object;

Procedure is called to get title line text or draw title line directly

TSetColumnFilterEvent = procedure(Sender: TObject; DataSet: TDataSet; Field: TField; FilterString: string; FilterForm: TForm) of object;

Procedure is called after setting filter for any column

TScanDatasetEvent = procedure(Sender: TObject; DataSet: TDataSet; Reason: integer) of object;

Procedure is called after setting filter for any column

TColWidthChangedEvent = procedure(Sender: TObject; Column: TColumn; ManualSizing: boolean) of object;

Procedure is called after changing of column width

TCellParamsCondOperators = (...);

define condition operators for cell highlighting

Values
  • cpoEqual:  
  • cpoLess:  
  • cpoLessOrEq:  
  • cpoGreater:  
  • cpoGreaterOrEq:  
  • cpoNotEqual:  
  • cpoStart:  
  • cpoNotStart:  
  • cpoContain:  
  • cpoNotContain:  
  • cpoAllways:  
TCellParamsCondActions = (...);

define condition logical operators for cell highlighting

Values
  • cpaSet:  
  • cpaAND:  
  • cpaOR:  

Constants

MaxBmpArr = 26;
 
DefBoolValue = '1;0';
 
RunHTTP = 'http://';
 
RunMailTo = 'mailto:';
 
ActualDateAbr = '$Date';
 
GroupHeaderSep = '::';
 
FieldListSep = ';';
 
DataImagesFieldCfg = 'Cfg_Align';
 
grrColumnWidth = 1;
 
grrSummaryCalc = 2;
 
grrQuickLookup = 3;
 
grrLoadPickList = 4;
 
grrCopyData = 5;
 
grrLoadFilterList = 6;
 

Author

Created

Oct 2006 - Jun 2013

Last Modified

Feb 2016


Generated by PasDoc 0.13.0 on 2016-02-19 08:14:10