The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....



Interface of SDL_RepList


const
  NameWidth = 50;                            { maximum length of col/row names }
  ColFormatWidth = 80;                   { maximum length of col format string }
{$IFDEF PAIDVERS}
  SDLVersionInfo = 'replist_r1200_full';
  IsLightEd = false;
{$ELSE}
  SDLVersionInfo = 'replist_r1200_lighted';
  IsLightEd = true;
{$ENDIF}
  Release = 1200;

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;

  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 RemoveRow (r: longint);
              procedure RemoveEmptyRows;
              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}
  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 RemoveRow (r: longint);
              procedure RemoveEmptyRows;
              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;






Last Update: 2023-Feb-06