const
NameWidth = 50; { maximum length of col/row names }
ColFormatWidth = 80; { maximum length of col format string }
{$IFDEF PAIDVERS}
SDLVersionInfo = 'replist_r1210_full';
IsLightEd = false;
{$ELSE}
SDLVersionInfo = 'replist_r1210_lighted';
IsLightEd = true;
{$ENDIF}
Release = 1210;
type
ESDLRLDataError = class(ESDLError); { exception type to indicate errors }
ESDLRepListError = class(ESDLError); { exception type to indicate errors }
TNameStrType = string[NameWidth]; { col/row header type }
TColFmtString = string[ColFormatWidth]; { column default string type }
TCheckMode = (cmNone, cmBox, cmRadio); { check box mode of columns }
TFilterMode = (fmSimple, fmBoolean, fmGrep);{ search mode in "FilterAndSort" }
TRepListXmlTag = (xmlNumCols, xmlNumRows, xmlColName, xmlCheckedColumn,
xmlCommonHd, xmlColumnFormat, xmlCell, xmlComment,
xmlEndReplist, xmlInvalid);
TBeforeHTMLExportEvent = procedure (Sender: TObject; var Text: string;
Col, Row: integer) of object;
TCheckStateChangeEvent = procedure (Sender: TObject; var State: boolean;
Col, Row: longint) of object;
TRequestEditFormatEvent = procedure (Sender: TObject; Col, Row: longint;
var Format: string) of object;
TBeforeFilterEvent = procedure (Sender: TObject; Row: longint; var Found: boolean;
var CombineWithInternalSearch: TLogicOp) of object;
TRenderCellEvent = procedure (Sender: TObject; ACol, ARow: integer;
var PenColor, BrushColor, FontColor: TColor;
var FontStyles: TFontStyles; var Text: string) of object;
TReadCellEvent = procedure (Sender: TObject; ACol, ARow: integer;
var Text: string) of object;
TCursorKeyActionEvent = procedure (Sender: TObject; Key: word) of object;
{$IFDEF GE_LEV29}
[ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidWin64x)]
{$ENDIF}
TRLData = class(TComponent)
private
FComment : string; { user comment on network }
FColName : array of TNameStrType; { column names }
FColumnFormat : array of TColFmtString;{ default for row edi }
FCommonHeader : string; { common header over all columns }
FColButMode : array of TCheckMode; { check box mode }
FNrOfCols : longint; { number of columns of data matrix }
FNrOfRows : longint; { number of columns of data matrix }
FSortColumnPrim : longint;
FSortColumnSec : longint;
FSortOrderPrim : boolean;
FSortOrderSec : boolean;
FOnBefSortExc : TBeforeSortExchgEvent;
FDataID : string; { tag to identify the data }
FSortToggle : boolean; { toggle switch for sorting }
FOnBefHTMLExport : TBeforeHTMLExportEvent;
FFeedbkNumCells : longint; { used for OnPercentDone event }
FFeedbkStep : longint; { used for OnPercentDone event }
FOnPercentDone : TOnPercentDoneEvent;
FOnExportText : TExportTextEvent;
{$IFDEF PAIDVERS}
function ProcessXmlTag (xmlTag: TRepListXmlTag;
attr, cont: string): integer;
{$ENDIF}
function GetAsNumber (ACol, ARow: longint): double;
function GetColName (ColNr: longint): TNameStrType;
function GetCheckedCol (ColNr: longint): boolean;
function GetColCheckMode (ColNr: longint): TCheckMode;
function GetElem (ACol, ARow: longint): string;
function GetElemChecked (ACol, ARow: longint): boolean;
function GetColumnFormat (ColNr: longint): TColFmtString;
function GetCellDefaultValue (ACol, ARow: longint): string;
procedure SetColName (ColNr: longint; HLine: TNameStrType);
procedure SetCheckedCol (ColNr: longint; Value: boolean);
procedure SetColCheckMode (ColNr: longint; Value: TCheckMode);
procedure SetColumnFormat (ColNr: longint; DefValue: TColFmtString);
procedure SetCommonHeader (val: string);
procedure SetElem (ACol, ARow: longint; const Value: string);
procedure SetElemChecked (ACol, ARow: longint; const Value: boolean);
procedure SetNrCols (NrCols: longint);
procedure SetNrRows (NrRows: longint);
protected
procedure AssignTo (Dest: TPersistent); override;
procedure BeforeHTMLExport (var Text: string; Col, Row: integer);
procedure BeforeSortExchange (Sender: TObject; InString: string;
var OutString: string);
procedure SetAllCheckmarksOfColIntern
(Column: longint; Checked, OnlyEnabledOnes: boolean);
procedure InvertAllCheckmarksOfColIntern
(Column: longint; OnlyEnabledOnes: boolean);
public
Strings : TStringArray;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property AsNumber [ACol, ARow: longint]: double read GetAsNumber;
procedure Assign (Source: TPersistent); override;
function ColumnIndex (Head: string; PartialMatch: boolean): longint;
property Comment: string read FComment write FComment;
procedure CopyToClipBoard (LeftCol, TopRow, RightCol,
BottomRow: integer;
AddHeader, UseTabs: boolean); overload;
procedure CopyToClipBoard (LeftCol, TopRow, RightCol,
BottomRow: integer; AddHeader: boolean;
Separator: string); overload;
property DataID: string read FDataID write FDataID;
property DefaultValue[ACol, ARow: longint]: string
read GetCellDefaultValue;
property Elem[ACol, ARow: longint]: string
read GetElem write SetElem; default;
property ElemChecked[ACol, ARow: longint]: boolean
read GetElemChecked write SetElemChecked;
procedure Fill (s: string);
function FirstCheckedElemInCol (ColNr: longint): integer;
function FirstCheckedElemInRow (RowNr: longint): integer;
procedure Clear;
property ColumnFormat[ColNr: longint]: TColFmtString
read GetColumnFormat write SetColumnFormat;
property ColumnCheckMode [ColNr: longint]: TCheckMode
read GetColCheckMode write SetColCheckMode;
procedure CopyRow (Source, Target: integer);
function CountCheckedElemsInCol (Column: longint): longint;
function CountCheckedElemsInRow (Row: longint): longint;
procedure SetAllCheckmarksOfCol (Column: longint; Checked: boolean);
procedure InsertColumn (c: longint);
procedure InsertRow (r: longint);
procedure InvertAllCheckmarksOfCol (Column: longint);
procedure ExportHTMLTable (FName: string; LoC,LoR,HiC,HiR: integer;
ColumnSelection: array of integer;
Border, CellSpacing, Cellpadding: integer;
IncludeHeader: boolean;
HeadClass, CellClass, TableClass: string);
function ExportCSV (FName: String; Delimiter: TCSVDelimiters;
IncludeColHeaders, IncludeCommonHeader: boolean;
FirstCol, FirstRow, LastCol, LastRow: integer): integer;
property Header[ColNr: longint]: TNameStrType
read GetColName write SetColName;
function ImportCSV (FName: String; Delimiter: TCSVDelimiters;
IncludeColHeaders: boolean): integer;
property IsCheckedColumn[ColNr: longint]: boolean
read GetCheckedCol write SetCheckedCol;
property LastSortColumn: longint read FSortColumnPrim;
property LastSortColumnSec: longint read FSortColumnSec;
property LastSortOrder: boolean read FSortOrderPrim;
property LastSortOrderSec: boolean read FSortOrderSec;
function LoadFromXMLFile (FName: string; DataID: string): boolean;
function LoadLinesFromFile (Column, FirstRow: integer;
FName: string): integer;
function ReadFromXMLString(InString: string;
DataID: string): boolean;
function ReadFromXMLStream (InStream: TStream;
DataID: string): boolean;
function ReadFromOpenXMLFile (var InFile : TextFile;
DataID: string): boolean;
procedure RemoveColumn (c: longint);
procedure RemoveEmptyRows;
procedure RemoveRow (r: longint);
procedure SaveAsXMLFile (FName: string; DataID: string);
procedure Sort (PrimCol, SecCol: longint;
Ascending: boolean); overload;
procedure Sort (PrimCol, SecCol: longint;
AscendPrim, AscendSec: boolean); overload;
procedure UnSort;
procedure WriteToOpenXMLFile (var OutFile: TextFile;
CreateHeader: boolean; DataID: string);
procedure WriteToXMLStream (OutStream: TStream;
CreateHeader: boolean; DataID: string);
published
property NrOfColumns: longint read FNrOfCols write SetNrCols;
property NrOfRows: longint read FNrOfRows write SetNrRows;
property CommonHeader: string
read FCommonHeader write SetCommonHeader;
property OnBeforeSortExchange: TBeforeSortExchgEvent
read FOnBefSortExc write FOnBefSortExc;
property OnBeforeHTMLExport: TBeforeHTMLExportEvent
read FOnBefHTMLExport write FOnBefHTMLExport;
property OnExportText: TExportTextEvent
read FOnExportText write FOnExportText;
property OnPercentDone: TOnPercentDoneEvent
read FOnPercentDone write FOnPercentDone;
end;
{$IFDEF GE_LEV6} // TCustomDrawGrid is only from D6/CPP6 upwards available
{$IFNDEF ISCLX}
{$IFDEF GE_LEV29}
[ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidWin64x)]
{$ENDIF}
TReportListView = class(TCustomDrawGrid)
{$ELSE}
TReportListView = class(TDrawGrid)
{$ENDIF}
{$ELSE}
TReportListView = class(TDrawGrid)
{$ENDIF}
private
FAutoAdvance : boolean; { TRUE: go to next cell on CR }
FLastMousePosX : integer; { mouse pos. triggered by MouseMove }
FLastMousePosY : integer;
FOnChange : TNotifyEvent;
FOnChangeSetup : TNotifyEvent;
FOnSelectedChange : TNotifyEvent;
FColAlignment : array of byte;{ alignment of text in columns }
FHeaderAlignment : TAlignment; { alignment of text in columns }
FEmptyMsg : string;{message displayed when no. of rows=0 }
FColumnEditable : array of boolean; { column is read-only }
FColumnIsPwd : array of boolean; { column contains pwds }
FColOrder : array of integer; { order of columns }
FComHdVis : boolean; { common header visible }
FComHdColor : TColor;
FComHdTxtColor : TColor;
FComHdHgt : integer; { height of common header }
FColHdVis : boolean; { column header visible }
FColHdColor : TColor;
FColHdTxtColor : TColor;
FColHdHgt : integer; { height of column header }
FColorEmptyMsg : TColor;
FDisabledTextColor: TColor; { color of disabled text }
FDisabledBkgdColor: TColor; { color of disabled background }
FEnabled : boolean;
FSelectAnchor : longint; { index of last row clicked on }
FRowSelectMode : integer; { row selection mode }
FCtrlForMultiSel : boolean;{use Ctrl key for multiple selection }
FSortEnabled : boolean; { is sorting allowed ? }
FOnChkStChange : TCheckStateChangeEvent;
FOnBefChkStChange : TCheckStateChangeEvent;
FOnBeforeFilter : TBeforeFilterEvent;
FOnRequestEdFmt : TRequestEditFormatEvent;
FOnGetEditText : TGetEditEvent;
FOnSetEditText : TSetEditEvent;
FOnMouseWheelDown : TMouseWheelUpDownEvent;
FOnMouseWheelUp : TMouseWheelUpDownEvent;
FSelRowColor : TColor; { color of selected row }
FSelRowTextColor : TColor; { color of selected row text }
FSelColColor : TColor; { color of selected column }
FSelColTextColor : TColor; { color of selected column text }
FSelBothColor : TColor; { color of selected row and column }
FSelBothTextColor : TColor; { color of selected row/column text }
FShowEmptyCBx : boolean; { TRUE: show checkbox even if empty }
FROCheckMarks : boolean; { TRUE: use readonly check marks }
FHiLgtColor : TColor;
FHiLgtTextColor : TColor;
FHiLgtBold : boolean;
FHiLgtRow : longint;
FHiLgtColumn : longint;
FOnPercentDone : TOnPercentDoneEvent;
FOnBefRenderCell : TRenderCellEvent;
FOnCursorKeyAction: TCursorKeyActionEvent;
FOnReadCell : TReadCellEvent;
FOnBefSortExc : TBeforeSortExchgEvent;
FOnBefHTMLExport : TBeforeHTMLExportEvent;
FSuppressPaint : boolean; { TRUE: suppress all paint calls }
FColorNormal : TColor; { color of unmarked text }
FRColorNormal : TColor; { color of normal row background }
FRColorShaded : TColor; { color of shaded row background }
FRowColPattern : integer; { shading pattern }
FInterRowIndi : integer; { inter row indicator }
FInterRowColor : TColor; { inter row indicator color }
FInterRowWidth : integer; { inter row indicator width }
FFixedColOne : boolean;
{$IFDEF GE_LEV4}
FContainerForm : TForm; { container for row editor }
FSBERCancel : TSpeedButton; { speedbutton in row editor }
{$ENDIF}
function GetAsNumber (ACol, ARow: longint): double;
function GetColName (ColNr: longint): TNameStrType;
function GetCheckedCol (ColNr: longint): boolean;
function GetColCheckMode (ColNr: longint): TCheckMode;
function GetColWidths(Index: Longint): Integer;
function GetDefColWidth: integer;
function GetDefRowHeight: integer;
function GetColumnFormat (ColNr: longint): TColFmtString;
function GetCommonHeader: string;
function GetDataID: string;
function GetElem (ACol, ARow: longint): string;
function GetElemChecked (ACol, ARow: longint): boolean;
function GetColOrder (ColNr: longint): integer;
function GetColumnEditable (ColNr: longint): boolean;
function GetColumnIsPwd (ColNr: longint): boolean;
function GetColSelect (c: longint): boolean;
function GetColAlignment (ColNr: longint): TAlignment;
function GetRowSelect (r: longint): boolean;
function GetRowEnabled (r: longint): boolean;
function GetSortColumn: longint;
function GetSortColumnSec: longint;
function GetSortOrder: boolean;
function GetSortOrderSec: boolean;
function GetNrRows: longint;
function GetNrCols: longint;
function GetTopRow: longint;
function GetLeftCol: longint;
function GetComment: string;
function GetCellDefaultValue (ACol, ARow: longint): string;
procedure StringsHasChanged (Sender: TObject);
procedure RepListPercDone (Sender: TObject; Percent: integer);
procedure SetSuppressPaint (supp: boolean);
procedure SetColName (ColNr: longint; HLine: TNameStrType);
procedure SetCheckedCol (ColNr: longint; Value: boolean);
procedure SetColCheckMode (ColNr: longint; Value: TCheckMode);
procedure SetColAlignment (ColNr: longint; Value: TAlignment);
procedure SetHdAlign (value: TAlignment);
procedure SetColorNormal (color: TColor);
procedure SetColWidths(Index: Longint; Value: Integer);
procedure SetDefColWidth (DefW: integer);
procedure SetDefRowHeight (DefH: integer);
procedure SetComHdVis (val: boolean);
procedure SetComHdHgt (val: integer);
procedure SetColHdVis (val: boolean);
procedure SetColHdHgt (val: integer);
procedure SetColPattern (colpat: integer);
procedure SetCommonHeader (val: string);
procedure SetDataID (ID: string);
procedure SetElem (ACol, ARow: longint; const Value: string);
procedure SetElemChecked (ACol, ARow: longint; const Value: boolean);
procedure SetEmptyMsg (value: string);
procedure SetNrCols (NrCols: longint);
procedure SetNrRows (NrRows: longint);
procedure SetRColorNormal (color: TColor);
procedure SetRColorShaded (color: TColor);
procedure SetColumnEditable (ColNr: longint; Value: boolean);
procedure SetColumnIsPwd (ColNr: longint; Value: boolean);
procedure SetColSelect (c: longint; value: boolean);
procedure SetInterRowIndi (r: longint);
procedure SetLeftCol (lc: longint);
procedure SetTopRow (tr: longint);
procedure SetRowEnabled (r: longint; value: boolean);
procedure SetRowSelect (r: longint; value: boolean);
procedure SetRowSelectMode (mode: integer);
procedure SetShowEmptyCBx (value: boolean);
procedure SetColorSelectedRow (color: TColor);
procedure SetColorSelectedRowText (color: TColor);
procedure SetColorSelectedCol (color: TColor);
procedure SetColorSelectedColText (color: TColor);
procedure SetColorSelectedBoth (color: TColor);
procedure SetColorSelectedBothText (color: TColor);
procedure SetColorEmptyMsg (color: TColor);
procedure SetColumnFormat (ColNr: longint; DefValue: TColFmtString);
procedure SetColorHi (color: TColor);
procedure SetColorHiText (color: TColor);
procedure SetColHdColor (color: TColor);
procedure SetComHdColor (color: TColor);
procedure SetColHdTxtColor (color: TColor);
procedure SetComHdTxtColor (color: TColor);
procedure SetDisabledBkgdColor (color: TColor);
procedure SetDisabledTextColor (color: TColor);
procedure SetInterRowColor (Color: TColor);
procedure SetInterRowWidth (Width: integer);
procedure SetFixedColOne (visible: boolean);
procedure SetHeaderHeights;
procedure SetHighLightBold (Bold: boolean);
procedure SetHighLightRow (ARow: longint);
procedure SetHighLightColumn (ACol: longint);
procedure SetROCheckmarks(value: boolean);
procedure SetSortColumnSec (sc: longint);
procedure SetComment(comment: string);
{$IFDEF GE_LEV4}
procedure EdRowCancelClick(Sender: TObject);
procedure EdRowOKClick(Sender: TObject);
procedure EdRowKeyPress(Sender: TObject; var Key: Char);
function EditRowEntriesIntern (Row: longint; ContainerForm: TForm;
PosLeft, PosTop: integer; FormCaption, ButOKCaption,
ButCancelCaption: string): integer;
{$ENDIF}
protected
procedure CreateWnd; override;
procedure AssignTo (Dest: TPersistent); override;
procedure Paint; override;
procedure Keypress (var Key: char); override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
{$IFDEF ISCLX}
function GetEditText (ACol, ARow: Longint): WideString; override;
procedure SetEditText (ACol, ARow: Longint;
const Value: WideString); override;
{$ELSE}
function GetEditText (ACol, ARow: Longint): string; override;
procedure SetEditText (ACol, ARow: Longint;
const Value: string); override;
{$ENDIF}
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure CheckStateHasChanged (State: boolean; col, row: longint);
procedure BeforeCheckStateChange (var State: boolean;
col, row: longint);
procedure DblClick; override;
function SelectCell(ACol, ARow: longint): boolean; override;
function DoMouseWheelDown (Shift: TShiftState;
MousePos: TPoint): Boolean; override;
function DoMouseWheelUp (Shift: TShiftState;
MousePos: TPoint): Boolean; override;
procedure MouseUp (Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseDown (Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure DrawCell (ACol, ARow: Longint; ARect: TRect;
AState: TGridDrawState); override;
procedure TopLeftChanged; override;
procedure BeforeSortExchange (Sender: TObject; InString: string;
var OutString: string);
procedure BeforeHTMLExport (Sender: TObject; var Text: string;
Col, Row: integer);
procedure SetEnabled (value: boolean); override;
public
FRLData : TRLData;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function AddRow: longint;
property AsNumber [ACol, ARow: longint]: double read GetAsNumber;
procedure Assign (Source: TPersistent); override;
procedure AutoColWidth (ColNr: longint; IncludeHeader: boolean;
Addon: integer); overload;
procedure AutoColWidth (ColNr: longint; IncludeHeader: boolean;
Addon, MaxWidth: integer); overload;
procedure CenterScrollAndSelect (Row: integer);
procedure Changed;
procedure ChangedSetup;
procedure ChangedSelection;
procedure CursorKeyAction(Key: word);
property ColumnOrder [ColNr: longint]: integer read GetColOrder;
property ColumnCheckMode [ColNr: longint]: TCheckMode
read GetColCheckMode write SetColCheckMode;
function ColumnIndex (Head: string; PartialMatch: boolean): longint;
property Comment: string read GetComment write SetComment;
procedure CopyToClipBoard (LeftCol, TopRow, RightCol,
BottomRow: integer;
AddHeader, UseTabs: boolean); overload;
procedure CopyToClipBoard (LeftCol, TopRow, RightCol,
BottomRow: integer; AddHeader: boolean;
Separator: string); overload;
property DataID: string read GetDataID write SetDataID;
property DefaultValue[ACol, ARow: longint]: string
read GetCellDefaultValue;
procedure DeselectAllRows;
procedure DeselectAllColumns;
function DetermineMaxColWidth (ColNr: longint;
IncludeHeader: boolean): integer;
procedure DisableAllRows;
property Elem[ACol, ARow: longint]: string
read GetElem write SetElem; default;
property ElemChecked[ACol, ARow: longint]: boolean
read GetElemChecked write SetElemChecked;
procedure EnableAllRows;
procedure ExportHTMLTable (FName: string; LoC,LoR,HiC,HiR: integer;
ColumnSelection: array of integer; Border, CellSpacing,
CellPadding: integer; IncludeHeader: boolean;
HeadClass, CellClass, TableClass: string);
procedure Fill (s: string);
function FirstCheckedElemInCol (ColNr: longint): integer;
function FirstCheckedElemInRow (RowNr: longint): integer;
function FirstSelectedColumn: longint;
function FirstSelectedRow: longint;
procedure FitAllColWidths (ExpandColumn: integer;
IncludeHeader: boolean; Addon, MaxWidth,
RightMargin: integer);
procedure Clear;
property ColWidths[Index: Longint]: Integer
read GetColWidths write SetColWidths;
property ColumnFormat[ColNr: longint]: TColFmtString
read GetColumnFormat write SetColumnFormat;
property ColumnSelected[r: longint]: boolean
read GetColSelect write SetColSelect;
function CountCheckedElemsInCol (Column: longint): longint;
function CountCheckedElemsInRow (Row: longint): longint;
function EditRowEntries (Row: longint; PosLeft,
PosTop: integer; FormCaption, ButOKCaption,
ButCancelCaption: string): integer; overload;
function EditRowEntries (Row: longint; PosLeft,
PosTop: integer): integer; overload;
function EditRowEntries (Row: longint; ContainerForm: TForm;
PosLeft, PosTop: integer): integer; overload;
procedure ExpandColWidth (ColIx: longint; RightMargin: integer);
function ExportCSV (FName: String; Delimiter: TCSVDelimiters;
IncludeColHeaders, IncludeCommonHeader: boolean;
FirstCol, FirstRow, LastCol, LastRow: integer): integer;
function GetSelectedRows: TIntArray;
property Header[ColNr: longint]: TNameStrType
read GetColName write SetColName;
function ImportCSV (FName: String; Delimiter: TCSVDelimiters;
IncludeColHeaders: boolean): integer;
function InsertColumn (c: longint): longint;
function InsertRow (r: longint): longint;
property IsCheckedColumn[ColNr: longint]: boolean
read GetCheckedCol write SetCheckedCol;
property ColumnAlignment[ColNr: longint]: TAlignment
read GetColAlignment write SetColAlignment;
property ColumnEditable[ColNr: longint]: boolean
read GetColumnEditable write SetColumnEditable;
property ColumnIsPwd[ColNr: longint]: boolean
read GetColumnIsPwd write SetColumnIsPwd;
function CountHeadRows: integer;
property LastSortColumn: longint read GetSortColumn;
property LastSortColumnSec: longint read GetSortColumnSec;
property LastSortOrder: boolean read GetSortOrder;
property LastSortOrderSec: boolean read GetSortOrderSec;
function LoadFromXMLFile (FName: string; DataID: string): boolean;
function LoadLinesFromFile (Column, FirstRow: integer;
FName: string): integer;
property CheckMarksReadOnly: boolean
read FROCheckmarks write SetROCheckmarks;
procedure FilterAndSort (FilterExp: string;
FilterColumns: array of integer; IgnoreCase: boolean;
FilterMode: TFilterMode; SortColumn: integer;
Ascending: boolean);
function MouseCell (X, Y: Integer): TGridCoord;
function NumEnabledRows: longint;
function NumSelectedRows: longint;
function NumSelectedColumns: longint;
function ReadFromXMLString(InString: string;
DataID: string): boolean;
function ReadFromXMLStream (InStream: TStream;
DataID: string): boolean;
function ReadFromOpenXMLFile (var InFile : TextFile;
DataID: string): boolean;
procedure RemoveColumn (c: longint);
procedure RemoveEmptyRows;
procedure RemoveRow (r: longint);
procedure RemoveSelectedRows;
property RowSelected[r: longint]: boolean
read GetRowSelect write SetRowSelect;
property RowEnabled [r: longint]: boolean
read GetRowEnabled write SetRowEnabled;
procedure SetAllCheckmarksOfCol (Column: longint;
Checked: boolean); overload;
procedure SetAllCheckmarksOfCol (Column: longint; Checked,
AffectEnabledRowsOnly: boolean); overload;
procedure SetBounds (ALeft, ATop, AWidth, AHeight: Integer); override;
function SetColumnOrder (ColList: array of integer): boolean;
procedure SetSelectedRows (SelList: TIntArray);
procedure InvertAllCheckmarksOfCol (Column: longint); overload;
procedure InvertAllCheckmarksOfCol (Column: longint;
AffectEnabledRowsOnly: boolean); overload;
property InterRowIndicatorPos: integer
read FInterRowIndi write SetInterRowIndi;
procedure SaveAsXMLFile (FName: string; DataID: string);
property SecondarySortColumn: longint
read GetSortColumnSec write SetSortColumnSec;
procedure SelectAllColumns;
procedure SelectColumn (ColNr: integer);
procedure SelectAllRows;
procedure SelectRow (RowNr: integer);
property Selection;
property InplaceEditor;
procedure Sort (PrimCol, SecCol: longint;
Ascending: boolean); overload;
procedure Sort (PrimCol, SecCol: longint;
AscendPrim, AscendSec: boolean); overload;
procedure SortEnabledState (SortColumn1, SortColumn2: integer;
Ascending: boolean);
procedure UnSort;
property SuppressPaint: boolean
read FSuppressPaint write SetSuppressPaint;
procedure WriteToOpenXMLFile (var OutFile: TextFile;
CreateHeader: boolean; DataID: string);
procedure WriteToXMLStream (OutStream: TStream;
CreateHeader: boolean; DataID: string);
published
property NrOfColumns: longint read GetNrCols write SetNrCols;
property NrOfRows: longint read GetNrRows write SetNrRows;
property Align;
property Anchors;
property Constraints;
{$IFNDEF ISCLX}
property BiDiMode;
property ParentBiDiMode;
property DragCursor;
property OnEndDock;
property DragKind;
property OnStartDock;
property OnStartDrag;
{$ENDIF}
property DragMode;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnContextPopup;
property AutoAdvance: boolean read FAutoAdvance write FAutoAdvance;
property BorderStyle;
property Color;
property ColorHigh: TColor read FHiLgtColor write SetColorHi;
property ColorText: TColor read FColorNormal write SetColorNormal;
property ColorBkgdNormal: TColor
read FRColorNormal write SetRColorNormal;
property ColorBkgdShaded: TColor
read FRColorShaded write SetRColorShaded;
property ColorColumnHd: TColor
read FColHdColor write SetColHdColor;
property ColorColumnHdText: TColor
read FColHdTxtColor write SetColHdTxtColor;
property ColorCommonHd: TColor
read FComHdColor write SetComHdColor;
property ColorCommonHdText: TColor
read FComHdTxtColor write SetComHdTxtColor;
property ColorDisabledBkgd: TColor
read FDisabledBkgdColor write SetDisabledBkgdColor;
property ColorDisabledText: TColor
read FDisabledTextColor write SetDisabledTextColor;
property ColorEmptyMsg: TColor
read FColorEmptyMsg write SetColorEmptyMsg;
property ColorHighText: TColor
read FHiLgtTextColor write SetColorHiText;
property ColorSelectedRow: TColor
read FSelRowColor write SetColorSelectedRow;
property ColorSelectedRowText: TColor
read FSelRowTextColor write SetColorSelectedRowText;
property ColorSelectedCol: TColor
read FSelColColor write SetColorSelectedCol;
property ColorSelectedColText: TColor
read FSelColTextColor write SetColorSelectedColText;
property ColorSelectedBoth: TColor
read FSelBothColor write SetColorSelectedBoth;
property ColorSelectedBothText: TColor
read FSelBothTextColor write SetColorSelectedBothText;
property CommonHeader: string
read GetCommonHeader write SetCommonHeader;
property CommonHeaderAlignment: TAlignment
read FHeaderAlignment write SetHdAlign;
property CommonHeaderVisible: boolean
read FComHdVis write SetComHdVis;
property CommonHeaderHeight: integer
read FComHdHgt write SetComHdHgt;
property ColumnHeadersVisible: boolean
read FColHdVis write SetColHdVis;
property ColumnHeadersHeight: integer
read FColHdHgt write SetColHdHgt;
{$IFNDEF ISCLX}
property Ctl3D;
property ParentCtl3D;
{$ENDIF}
property DefaultColWidth: integer
read GetDefColWidth write SetDefColWidth;
property DefaultRowHeight: integer
read GetDefRowHeight write SetDefRowHeight;
property DefaultDrawing;
property EmptyMessage: string read FEmptyMsg write SetEmptyMsg;
property Enabled: boolean read FEnabled write SetEnabled;
property FixedColor: TColor read FColHdColor write SetColHdColor;
property Font;
property HighLightBold: boolean
read FHiLgtBold write SetHighLightBold;
property HighLightRow: longint
read FHiLgtRow write SetHighLightRow;
property HighLightColumn: longint
read FHiLgtColumn write SetHighLightColumn;
property InterRowIndicatorColor: TColor
read FInterRowColor write SetInterRowColor;
property InterRowIndicatorWidth: integer
read FInterRowWidth write SetInterRowWidth;
property LeftCol: longint
read GetLeftCol write SetLeftCol;
property Options;
property ParentColor;
property ParentShowHint;
property ParentFont;
property PopupMenu;
property RowSelectMode: integer
read FRowSelectMode write SetRowSelectMode;
property RowColPattern: integer
read FRowColPattern write SetColPattern;
property ShowHint;
property TabOrder;
property ScrollBars;
property ShowEmptyCheckBoxes: boolean
read FShowEmptyCBx write SetShowEmptyCBx;
{$IFDEF GE_LEV17}
(**) property StyleElements;
{$ENDIF}
property FixedFirstColumn: boolean
read FFixedColOne write SetFixedColOne;
property SortEnabled: boolean
read FSortEnabled write FSortEnabled;
property TopRow: longint read GetTopRow write SetTopRow;
property UseCtrlForMultiSel: boolean
read FCtrlForMultiSel write FCtrlForMultiSel;
property Visible;
property VisibleColCount;
property VisibleRowCount;
property OnGetEditText: TGetEditEvent
read FOnGetEditText write FOnGetEditText;
property OnSetEditText: TSetEditEvent
read FOnSetEditText write FOnSetEditText;
property OnMouseDown;
property OnMouseUp;
property OnMouseMove;
property OnMouseWheel;
property OnClick;
property OnCheckedChange: TCheckStateChangeEvent
read FOnChkStChange write FOnChkStChange;
property OnBeforeFilter: TBeforeFilterEvent
read FOnBeforeFilter write FOnBeforeFilter;
property OnBeforeCheckedChange: TCheckStateChangeEvent
read FOnBefChkStChange write FOnBefChkStChange;
property OnRequestEditFormat: TRequestEditFormatEvent
read FOnRequestEdFmt write FOnRequestEdFmt;
property OnSelectedChange: TNotifyEvent
read FOnSelectedChange write FOnSelectedChange;
property OnBeforeRenderCell: TRenderCellEvent
read FOnBefRenderCell write FOnBefRenderCell;
property OnCursorKeyAction: TCursorKeyActionEvent
read FOnCursorKeyAction write FOnCursorKeyAction;
property OnReadCell: TReadCellEvent
read FOnReadCell write FOnReadCell;
property OnBeforeSortExchange: TBeforeSortExchgEvent
read FOnBefSortExc write FOnBefSortExc;
property OnBeforeHTMLExport: TBeforeHTMLExportEvent
read FOnBefHTMLExport write FOnBefHTMLExport;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
property OnChangeSetup: TNotifyEvent
read FOnChangeSetup write FOnChangeSetup;
property OnMouseWheelDown: TMouseWheelUpDownEvent
read FOnMouseWheelDown write FOnMouseWheelDown;
property OnMouseWheelUp: TMouseWheelUpDownEvent
read FOnMouseWheelUp write FOnMouseWheelUp;
property OnDblClick;
property OnDrawCell;
property OnEnter;
property OnExit;
property OnGetEditMask;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnPercentDone: TOnPercentDoneEvent
read FOnPercentDone write FOnPercentDone;
property OnRowMoved;
property OnSelectCell;
property OnTopLeftChanged;
end;
function CheckIfValidReplist (FName, DataID: string): boolean; overload;
function CheckIfValidReplist (InStream: TStream;
DataID: string): boolean; overload;
|