Class tcustomgrid

Unit

Declaration

type tcustomgrid = class(tpublishedwidget, iautoscrollframe, iobjectpicker, iscrollbar, idragcontroller, istatfile, iifigridlink, iassistiveclientgrid)

Description

No description available, ancestor tpublishedwidget description follows
No description available, ancestor tpublishedwidgetnwr description follows
No description available, ancestor tactionpublishedwidgetnwr description follows
No description available, ancestor tactionwidget description follows
No description available, ancestor twidget description follows
No description available, ancestor tactcomponent description follows
No description available, ancestor tmsecomponent description follows

Hierarchy

Overview

Fields

Protected fupdating: integer;
Protected ffocuscount: integer;
Protected fcellvaluechecking: integer;
Protected flastcol: integer;
Protected fpropcolwidthref: integer;
Protected fzebra_start: integer;
Protected fzebra_color: colorty;
Protected fzebra_height: integer;
Protected fzebra_step: integer;
Protected ffocusedcell: gridcoordty;
Protected fmousecell: gridcoordty;
Protected fmouseeventcol: integer;
Protected factiverow: integer;
Protected fstartanchor: gridcoordty;
Protected fendanchor: gridcoordty;
Protected foptionsgrid: optionsgridty;
Protected foptionsgrid1: optionsgrid1ty;
Protected fstate: gridstatesty;
Protected fstate1: gridstates1ty;
Protected fshowcell: gridcoordty;
Protected fshowcellmode: cellpositionty;
Protected ffixcols: tfixcols;
Protected ffixrows: tfixrows;
Protected fdatacols: tdatacols;
Protected fdatarowheight: integer;
Protected frowcount: integer;
Protected frowcountmax: integer;
Protected fscrollrect: rectty;
Protected fdatarect: rectty;
Protected fdatarectx: rectty;
Protected fdatarecty: rectty;
Protected frootbrushorigin: pointty;
Protected fbrushorigin: pointty;
Protected fdragcontroller: tdragcontroller;
Protected fobjectpicker: tobjectpicker;
Protected fpickkind: pickobjectkindty;
Protected fnumoffset: integer;
Protected fnonullcheck: integer;
Protected fnocheckvalue: integer;
Protected fappendcount: integer;
Protected flastcellpos: pointty;
Protected flastcellzone: cellzonety;

Methods

Protected class function classskininfo: skininfoty; override;
Protected function checkrowindex(var aindex: integer): boolean;
Protected procedure setselected(const cell: gridcoordty; const avalue: boolean); virtual;
Protected procedure internalselectionchanged;
Protected procedure setoptionsgrid(const avalue: optionsgridty); virtual;
Protected function updatesortcol(const avalue: integer): integer; virtual;
Protected function getsortdescend(const acol: integer): boolean;
Protected procedure checkrowreadonlystate; virtual;
Protected procedure checkneedsrowheight;
Protected procedure updaterowheight(const arow: integer; var arowheight: integer);
Protected function setuserinput(const avalue: boolean): boolean;
Protected procedure resetuserinput(const avalue: boolean);
Protected procedure doinsertrow(const sender: tobject); virtual;
Protected procedure doappendrow(const sender: tobject); virtual;
Protected function deleterowconfirmation(): boolean;
Protected procedure dodeleterow(const sender: tobject); virtual;
Protected procedure dodeleteselectedrows(const sender: tobject); virtual;
Protected procedure dodeleterows(const sender: tobject);
Protected procedure docopycells(const sender: tobject);
Protected procedure dopastecells(const sender: tobject);
Protected procedure initeventinfo(const cell: gridcoordty; eventkind: celleventkindty; out info: celleventinfoty);
Protected procedure invalidate;
Protected procedure invalidatesinglecell(const cell: gridcoordty);
Protected function caninvalidate: boolean;
Protected function docheckcellvalue: boolean;
Protected procedure dolayoutchanged; virtual;
Protected procedure internalupdatelayout(const force: boolean = false);
Protected procedure updatelayout; virtual;
Protected function intersectdatarect(var arect: rectty): boolean;
Protected procedure setdatarowheight(const value: integer);
Protected function getcaretcliprect: rectty; override;
Protected procedure checkdatacell(const coord: gridcoordty);
Protected procedure datacellerror(const coord: gridcoordty);
Protected procedure error(aerror: griderrorty; text: string = '');
Protected procedure indexerror(row: boolean; index: integer; text: string = '');
Protected procedure defineproperties(filer: tfiler); override;
Protected function getdisprect: rectty; override;
Protected procedure dofontheightdelta(var delta: integer); override;
Protected procedure fontchanged; override;
Protected procedure clientrectchanged; override;
Protected procedure internalcreateframe; override;
Protected function getscrollrect: rectty;
Protected procedure setscrollrect(const rect: rectty);
Protected function scrollcaret(const vertical: boolean): boolean; virtual;
Protected procedure firstcellclick(const cell: gridcoordty; var info: mouseeventinfoty); virtual;
Protected function getzebrastart: integer; virtual;
Protected function getnumoffset: integer; virtual;
Protected function createdatacols: tdatacols; virtual;
Protected procedure createdatacol(const index: integer; out item: tdatacol); virtual;
Protected function createfixcols: tfixcols; virtual;
Protected function createfixrows: tfixrows; virtual;
Protected procedure initcellinfo(var info: cellinfoty); virtual;
Protected function cellhasfocus: boolean; virtual;
Protected procedure colchanged(const sender: tcol);
Protected procedure cellchanged(const sender: tcol; const row: integer);
Protected procedure focusedcellchanged; virtual;
Protected procedure rowchanged(const arow: integer); virtual;
Protected procedure rowstatechanged(const arow: integer); virtual;
Protected procedure scrolled(const dist: pointty); virtual;
Protected function hascolumnsort: boolean;
Protected procedure sortchanged(const all: boolean);
Protected procedure checkinvalidate;
Protected function startanchor: gridcoordty;
Protected function endanchor: gridcoordty;
Protected procedure doselectionchanged; virtual;
Protected procedure docolmoved(const fromindex,toindex: integer); virtual;
Protected procedure dorowsmoved(const fromindex,toindex,count: integer); virtual;
Protected procedure dorowsinserting(var index,count: integer); virtual;
Protected procedure dorowsinserted(const index,count: integer); virtual;
Protected procedure dorowsdeleting(var index,count: integer); virtual;
Protected procedure dorowsdeleted(index,count: integer); virtual;
Protected procedure dorowsmodified;
Protected procedure doedited();
Protected procedure dorowsdatachanged(const acell: gridcoordty; const acount: integer); virtual;
Protected procedure dorowcountchanged(const countbefore,newcount: integer); virtual;
Protected procedure docellevent(var info: celleventinfoty); virtual;
Protected procedure cellmouseevent(const acell: gridcoordty; var info: mouseeventinfoty; const acellinfopo: pcelleventinfoty = nil; const aeventkind: celleventkindty = cek_none);
Protected procedure dofocusedcellposchanged; virtual;
Protected function isfirstrow: boolean; virtual;
Protected function islastrow: boolean; virtual;
Protected procedure internalinsertrow(var aindex: integer; var acount: integer; const auserinput: boolean); virtual;
Protected procedure internaldeleterow(var aindex: integer; var acount: integer; const auserinput: boolean); virtual;
Protected function internalsort(const sortfunc: indexsortcomparemethodty; var refindex: integer): boolean;
Protected procedure updaterowdata; virtual;
Protected procedure objectevent(const sender: tobject; const event: objecteventty); override;
Protected procedure doasyncevent(var atag: integer) override;
Protected procedure loaded; override;
Protected procedure doexit; override;
Protected procedure doenter; override;
Protected procedure doactivate; override;
Protected procedure dodeactivate; override;
Protected procedure activechanged; override;
Protected procedure getautopaintsize(var asize: sizety) override;
Protected procedure mouseevent(var info: mouseeventinfoty); override;
Protected procedure clientmouseevent(var info: mouseeventinfoty); override;
Protected procedure domousewheelevent(var info: mousewheeleventinfoty); override;
Protected procedure dokeydown(var info: keyeventinfoty); override;
Protected procedure dokeyup(var info: keyeventinfoty); override;
Protected procedure dopaintforeground(const acanvas: tcanvas); override;
Protected procedure dobeforepaint(const canvas: tcanvas); override;
Protected procedure doafterpaint(const canvas: tcanvas); override;
Protected function getnoscroll(): boolean override;
Protected procedure drawfocusedcell(const acanvas: tcanvas); virtual;
Protected procedure drawcellbackground(const acanvas: tcanvas);
Protected procedure drawcelloverlay(const acanvas: tcanvas);
Protected function caninsertrow: boolean; virtual;
Protected function canappendrow: boolean; virtual;
Protected function candeleterow: boolean; virtual;
Protected function canmoverow: boolean; virtual;
Protected procedure updatepopupmenu(var amenu: tpopupmenu; var mouseinfo: mouseeventinfoty); override;
Protected function rowatpos(y: integer): integer;
Protected function rowpos(arow: integer): integer;
Protected function ystep: integer;
Protected function mergestart(const acol: integer; const arow: integer): integer;
Protected function mergeend(const acol: integer; const arow: integer): integer;
Protected function getmerged(const arow: integer): longword;
Protected function nextfocusablecol(const acol: integer; const aleft: boolean; const arow: integer; const noreadonly: boolean): integer;
Protected procedure checkcellvalue(var accept: boolean); virtual;
Protected procedure checkmorerows(const acount: integer);
Protected procedure beforefocuscell(const cell: gridcoordty; const selectaction: focuscellactionty); virtual;
Protected procedure afterfocuscell(const cellbefore: gridcoordty; const selectaction: focuscellactionty); virtual;
Protected function wheelheight: integer;
Protected function calcshowshift(const rect: rectty; const position: cellpositionty): pointty;
Protected procedure focusrow(const arow: integer; const action: focuscellactionty; const noreadonly: boolean; const selectmode: selectcellmodety = scm_cell);
Protected function doremoveappinsrow(const oldrow,newrow: integer): boolean;
Protected function hassort: boolean;
Protected function canautoappend: boolean; virtual;
Protected function getdragrect(const apos: pointty): rectty; override;
Protected procedure scrollevent(sender: tcustomscrollbar; event: scrolleventty); virtual;
Protected function getcursorshape(const sender: tobjectpicker; var shape: cursorshapety): boolean;
Protected procedure getpickobjects(const sender: tobjectpicker; var objects: integerarty);
Protected procedure beginpickmove(const sender: tobjectpicker);
Protected procedure pickthumbtrack(const sender: tobjectpicker);
Protected procedure endpickmove(const sender: tobjectpicker);
Protected procedure cancelpickmove(const sender: tobjectpicker);
Protected procedure paintxorpic(const sender: tobjectpicker; const canvas: tcanvas);
Protected procedure dostatread(const reader: tstatreader); virtual;
Protected procedure dostatwrite(const writer: tstatwriter); virtual;
Protected procedure statreading;
Protected procedure statread;
Protected function getstatvarname: msestring;
Protected function getstatpriority: integer;
Protected procedure beginnullchecking;
Protected procedure endnullchecking;
Protected procedure beginnonullcheck;
Protected procedure endnonullcheck;
Protected procedure beginnocheckvalue;
Protected procedure endnocheckvalue;
Protected function nocheckvalue: boolean;
Protected procedure reorderrow;
Protected function getiassistiveclient(): iassistiveclient; override;
Protected function getassistiveflags(): assistiveflagsty; override;
Protected function getassistivecellcaption(const acell: gridcoordty): msestring virtual;
Protected function getassistivecelltext(const acell: gridcoordty; out aflags: assistiveflagsty): msestring virtual;
Protected function getassistivefocusedcell(): gridcoordty;
Protected function getassistivegridinfo(): assistivegridinfoty virtual;
Public constructor create(aowner: tcomponent); override;
Public destructor destroy; override;
Public procedure initnewcomponent(const ascale: real); override;
Public procedure synctofontheight; override;
Public procedure dragevent(var info: draginfoty); override;
Public function internaldragevent(var info: draginfoty): boolean; virtual;
Public function actualcursor(const apos: pointty): cursorshapety; override;
Public procedure beginupdate;
Public procedure endupdate(const nosort: boolean = false; const invalidrowstart: int32 = 0);
Public function updating: boolean; reintroduce;
Public function calcminscrollsize: sizety; override;
Public procedure layoutchanged;
Public function cellclicked: boolean;
Public procedure rowdatachanged; overload;
Public procedure rowdatachanged(const acell: gridcoordty; const count: integer = 1); overload;
Public procedure rowup(const action: focuscellactionty = fca_focusin; const nowrap: boolean = false) virtual;
Public procedure rowdown(const action: focuscellactionty = fca_focusin; const nowrap: boolean = false) virtual;
Public procedure pageup(const action: focuscellactionty = fca_focusin); virtual;
Public procedure pagedown(const action: focuscellactionty = fca_focusin); virtual;
Public procedure wheelup(const action: focuscellactionty = fca_focusin); virtual;
Public procedure wheeldown(const action: focuscellactionty = fca_focusin); virtual;
Public procedure lastrow(const action: focuscellactionty = fca_focusin); virtual;
Public procedure firstrow(const action: focuscellactionty = fca_focusin); virtual;
Public procedure colstep(const action: focuscellactionty; const step: integer; const rowchange: boolean; const nocolwrap: boolean; const noreadonly: boolean); virtual;
Public function hasdata: boolean;
Public function canexitrow(const force: boolean = false): boolean;
Public function cellexiting: boolean;
Public function gridprop(const coord: gridcoordty): tgridprop;
Public function isdatacell(const coord: gridcoordty): boolean;
Public function isvalidcell(const coord: gridcoordty): boolean;
Public function isfixrow(const coord: gridcoordty): boolean;
Public function isfixcol(const coord: gridcoordty): boolean;
Public function rowvisible(const arow: integer): integer;
Public function rowsperpage: integer;
Public function cellatpos(const apos: pointty; out coord: gridcoordty): cellkindty; overload;
Public function cellatpos(const apos: pointty): gridcoordty; overload;
Public function cellrect(const cell: gridcoordty; const innerlevel: cellinnerlevelty = cil_all; const nomerged: boolean = false; const acellorigin: boolean = false): rectty;
Public function clippedcellrect(const cell: gridcoordty; const innerlevel: cellinnerlevelty = cil_all): rectty;
Public function cellvisible(const acell: gridcoordty): boolean;
Public procedure invalidatecell(const cell: gridcoordty);
Public procedure invalidatefocusedcell;
Public procedure invalidaterow(const arow: integer);
Public function selectcell(const cell: gridcoordty; const amode: cellselectmodety; const checkmultiselect: boolean = false): boolean;
Public function getselectedrange: gridrectty;
Public function focuscell(cell: gridcoordty; selectaction: focuscellactionty = fca_focusin; const selectmode: selectcellmodety = scm_cell; const ashowcell: cellpositionty = cep_nearest): boolean; virtual;
Public procedure focuscolbyname(const aname: string);
Public function focusedcellvalid: boolean;
Public function rowremoving: boolean;
Public function scrollingcol: boolean;
Public function noscrollingcol: boolean;
Public function defocuscell: boolean;
Public function defocusrow: boolean;
Public function showrect(const rect: rectty; const position: cellpositionty = cep_nearest; const noxshift: boolean = false): pointty;
Public function showcaretrect(const arect: rectty; const aframe: tcustomframe): pointty; overload;
Public function showcaretrect(const arect: rectty; const aframe: framety): pointty; overload;
Public function showcellrect(const rect: rectty; const origin: cellinnerlevelty = cil_paint): pointty;
Public procedure showcell(const cell: gridcoordty; const position: cellpositionty = cep_nearest; const force: boolean = false);
Public procedure showrow(const arow: integer; const position: cellpositionty = cep_nearest; const force: boolean = false);
Public procedure showlastrow;
Public procedure scrollrows(step: integer);
Public procedure scrollleft;
Public procedure scrollright;
Public procedure scrollpageleft;
Public procedure scrollpageright;
Public function userinput: boolean;
Public procedure movecol(curindex,newindex: integer; const auserinput: boolean = false); virtual;
Public procedure moverow(curindex,newindex: integer; count: integer = 1; const auserinput: boolean = false); virtual;
Public function insertrow(aindex: integer; acount: integer = 1; const auserinput: boolean = false): int32;
Public procedure deleterow(aindex: integer; acount: integer = 1; const auserinput: boolean = false);
Public function appinsrow(aindex: integer;const auserinput: boolean = false): int32;
Public function isinsertempty: boolean;
Public function isautoappend: boolean;
Public function autoappending: boolean;
Public function checkreautoappend: boolean;
Public procedure removeappendedrow;
Public function autoremoving: boolean;
Public procedure clear;
Public function appendrow(const checkautoappend: boolean = false): integer;
Public function appenddatarow: integer;
Public procedure sortinvalid(const acol: integer = invalidaxis; const arow: integer = invalidaxis);
Public function checksort: boolean;
Public procedure sort;
Public function copyselection: boolean; virtual;
Public function pasteselection: boolean; virtual;
Public function rowhigh: integer;
Public function datarowhigh: integer;
Public function visiblerow(const arow: integer): integer;
Public function rowfoldinfo: prowfoldinfoty;

Properties

Public property cellwindowpos: pointty read getcellwindowpos write setcellwindowpos;
Public property rowwindowpos: int32 read getrowwindowpos write setrowwindowpos;
Public property colwindowpos: int32 read getcolwindowpos write setcolwindowpos;
Public property optionsgrid: optionsgridty read foptionsgrid write setoptionsgrid default defaultoptionsgrid;
Public property optionsgrid1: optionsgrid1ty read foptionsgrid1 write foptionsgrid1 default [];
Public property optionsfold: optionsfoldty read foptionsfold write foptionsfold default [];
Public property norowedit: boolean read fnorowedit write fnorowedit;
Public property sorted: boolean read getsorted write setsorted;
Public property folded: boolean read getfolded write setfolded;
Public property datarowlinewidth: integer read fdatarowlinewidth write setdatarowlinewidth default defaultgridlinewidth;
Public property datarowlinecolorfix: colorty read fdatarowlinecolorfix write setdatarowlinecolorfix default defaultfixlinecolor;
Public property datarowlinecolor: colorty read fdatarowlinecolor write setdatarowlinecolor default defaultdatalinecolor;
Public property datarowheight: integer read fdatarowheight write setdatarowheight default griddefaultrowheight;
Public property datarowheightmin: integer read fdatarowheightmin write fdatarowheightmin default 1;
Public property datarowheightmax: integer read fdatarowheightmax write fdatarowheightmax default maxint;
Public property datacols: tdatacols read fdatacols write setdatacols;
Public property fixcols: tfixcols read ffixcols write setfixcols;
Public property fixrows: tfixrows read ffixrows write setfixrows;
Public property rowcount: integer read frowcount write setrowcount default 0;
Public property rowcountmax: integer read frowcountmax write setrowcountmax default bigint;
Public property firstvisiblerow: integer read ffirstvisiblerow;
Public property lastvisiblerow: integer read flastvisiblerow;
Public property visiblerows: integerarty read fvisiblerows;
Public property focusedcell: gridcoordty read ffocusedcell;
Public property col: integer read ffocusedcell.col write setcol;
Public property row: integer read ffocusedcell.row write setrow;
Public property mousecell: gridcoordty read fmousecell;
Public property gridframecolor: colorty read fgridframecolor write setgridframecolor default cl_gridframe;
Public property rowcolors: tcolorarrayprop read frowcolors write setrowcolors;
Public property rowcolorstate[index:integer]: rowstatenumty read getrowcolorstate write setrowcolorstate;
Public property rowlinecolorstate[index:integer]: rowstatenumty read getrowlinecolorstate write setrowlinecolorstate;
Public property rowlinecolorfixstate[index:integer]: rowstatenumty read getrowlinecolorfixstate write setrowlinecolorfixstate;
Public property rowlinewidth[index:integer]: rowlinewidthty read getrowlinewidth write setrowlinewidth;
Public property rowfonts: trowfontarrayprop read frowfonts write setrowfonts;
Public property rowfontstate[index:integer]: rowstatenumty read getrowfontstate write setrowfontstate;
Public property rowreadonlystate[index:integer]: boolean read getrowreadonlystate write setrowreadonlystate;
Public property rowhidden[index:integer]: boolean read getrowhidden write setrowhidden;
Public property rowfoldlevel[index:integer]: byte read getrowfoldlevel write setrowfoldlevel;
Public property rowfoldissum[index:integer]: boolean read getrowfoldissum write setrowfoldissum;
Public property rowheight[index:integer]: integer read getrowheight write setrowheight;
Public property rowstatelist: trowstatelist read getrowstatelist write setrowstatelist;
Public property ifilink: tifigridlinkcomp read fifilink write setifilink;
Public property zebra_color: colorty read fzebra_color write setzebra_color default cl_zebra;
Public property zebra_start: integer read fzebra_start write setzebra_start default 0;
Public property zebra_height: integer read fzebra_height write setzebra_height default 0;
Public property zebra_step: integer read fzebra_step write setzebra_step default 2;
Public property statfile: tstatfile read fstatfile write setstatfile;
Public property statvarname: msestring read getstatvarname write fstatvarname;
Public property statpriority: integer read fstatpriority write fstatpriority default 0;
Public property onbeforeupdatelayout: gridnotifyeventty read fonbeforeupdatelayout write fonbeforeupdatelayout;
Public property onlayoutchanged: gridnotifyeventty read fonlayoutchanged write fonlayoutchanged;
Public property oncolmoving: gridblockmovingeventty read foncolmoving write foncolmoving;
Public property oncolmoved: gridblockmovedeventty read foncolmoved write foncolmoved;
Public property onrowcountchanged: gridnotifyeventty read fonrowcountchanged write fonrowcountchanged;
Public property onrowsdatachanged: griddatablockeventty read fonrowsdatachanged write fonrowsdatachanged;
Public property onrowdatachanged: griddataeventty read fonrowdatachanged write fonrowdatachanged;
Public property onrowsmoving: gridblockmovingeventty read fonrowsmoving write fonrowsmoving;
Public property onrowsmoved: gridblockmovedeventty read fonrowsmoved write fonrowsmoved;
Public property onscrollrows: gridscrolleventty read fonscrollrows write fonscrollrows;
Public property ongetmorerows: gridmorerowseventty read fongetmorerows write fongetmorerows;
Public property onrowsinserting: gridbeforeblockeventty read fonrowsinserting write fonrowsinserting;
Public property onrowsinserted: gridblockeventty read fonrowsinserted write fonrowsinserted;
Public property onrowsdeleting: gridbeforeblockeventty read fonrowsdeleting write fonrowsdeleting;
Public property onrowsdeleted: gridblockeventty read fonrowsdeleted write fonrowsdeleted;
Public property onrowsmodified: notifyeventty read fonrowsmodified write fonrowsmodified;
Public property onedited: notifyeventty read fonedited write fonedited;
Public property onsort: gridsorteventty read fonsort write fonsort;
Public property onsortchanged: gridnotifyeventty read fonsortchanged write fonsortchanged;
Public property oncellevent: celleventty read foncellevent write foncellevent;
Public property onselectionchanged: notifyeventty read fonselectionchanged write fonselectionchanged;
Public property oncopyselection: copyselectioneventty read foncopyselection write foncopyselection;
Public property onpasteselection: pasteselectioneventty read fonpasteselection write fonpasteselection;
Public property drag: tdragcontroller read fdragcontroller write setdragcontroller;
Published property frame: tgridframe read getframe write setframe;
Published property font: twidgetfont read getfont write setfont stored isfontstored;
Published property fontempty: twidgetfontempty read getfontempty write setfontempty stored isfontemptystored;
Published property onkeydown: keyeventty read fonkeydown write fonkeydown;
Published property wheelscrollheight: integer read fwheelscrollheight write fwheelscrollheight default defaultwheelscrollheight;
Published property optionswidget default defaultgridwidgetoptions;
Published property optionswidget1 default defaultgridwidgetoptions1;
Published property onshortcut;

Description

Fields

Protected fupdating: integer;
 
Protected ffocuscount: integer;
 
Protected fcellvaluechecking: integer;
 
Protected flastcol: integer;
 
Protected fpropcolwidthref: integer;
 
Protected fzebra_start: integer;
 
Protected fzebra_color: colorty;
 
Protected fzebra_height: integer;
 
Protected fzebra_step: integer;
 
Protected ffocusedcell: gridcoordty;
 
Protected fmousecell: gridcoordty;
 
Protected fmouseeventcol: integer;
 
Protected factiverow: integer;
 
Protected fstartanchor: gridcoordty;
 
Protected fendanchor: gridcoordty;
 
Protected foptionsgrid: optionsgridty;
 
Protected foptionsgrid1: optionsgrid1ty;
 
Protected fstate: gridstatesty;
 
Protected fstate1: gridstates1ty;
 
Protected fshowcell: gridcoordty;
 
Protected fshowcellmode: cellpositionty;
 
Protected ffixcols: tfixcols;
 
Protected ffixrows: tfixrows;
 
Protected fdatacols: tdatacols;
 
Protected fdatarowheight: integer;
 
Protected frowcount: integer;
 
Protected frowcountmax: integer;
 
Protected fscrollrect: rectty;
 
Protected fdatarect: rectty;
 
Protected fdatarectx: rectty;
 
Protected fdatarecty: rectty;
 
Protected frootbrushorigin: pointty;
 
Protected fbrushorigin: pointty;
 
Protected fdragcontroller: tdragcontroller;
 
Protected fobjectpicker: tobjectpicker;
 
Protected fpickkind: pickobjectkindty;
 
Protected fnumoffset: integer;
 
Protected fnonullcheck: integer;
 
Protected fnocheckvalue: integer;
 
Protected fappendcount: integer;
 
Protected flastcellpos: pointty;
 
Protected flastcellzone: cellzonety;
 

Methods

Protected class function classskininfo: skininfoty; override;
 
Protected function checkrowindex(var aindex: integer): boolean;
 
Protected procedure setselected(const cell: gridcoordty; const avalue: boolean); virtual;
 
Protected procedure internalselectionchanged;
 
Protected procedure setoptionsgrid(const avalue: optionsgridty); virtual;
 
Protected function updatesortcol(const avalue: integer): integer; virtual;
 
Protected function getsortdescend(const acol: integer): boolean;
 
Protected procedure checkrowreadonlystate; virtual;
 
Protected procedure checkneedsrowheight;
 
Protected procedure updaterowheight(const arow: integer; var arowheight: integer);
 
Protected function setuserinput(const avalue: boolean): boolean;
 
Protected procedure resetuserinput(const avalue: boolean);
 
Protected procedure doinsertrow(const sender: tobject); virtual;
 
Protected procedure doappendrow(const sender: tobject); virtual;
 
Protected function deleterowconfirmation(): boolean;
 
Protected procedure dodeleterow(const sender: tobject); virtual;
 
Protected procedure dodeleteselectedrows(const sender: tobject); virtual;
 
Protected procedure dodeleterows(const sender: tobject);
 
Protected procedure docopycells(const sender: tobject);
 
Protected procedure dopastecells(const sender: tobject);
 
Protected procedure initeventinfo(const cell: gridcoordty; eventkind: celleventkindty; out info: celleventinfoty);
 
Protected procedure invalidate;
 
Protected procedure invalidatesinglecell(const cell: gridcoordty);
 
Protected function caninvalidate: boolean;
 
Protected function docheckcellvalue: boolean;
 
Protected procedure dolayoutchanged; virtual;
 
Protected procedure internalupdatelayout(const force: boolean = false);
 
Protected procedure updatelayout; virtual;
 
Protected function intersectdatarect(var arect: rectty): boolean;
 
Protected procedure setdatarowheight(const value: integer);
 
Protected function getcaretcliprect: rectty; override;
 
Protected procedure checkdatacell(const coord: gridcoordty);
 
Protected procedure datacellerror(const coord: gridcoordty);
 
Protected procedure error(aerror: griderrorty; text: string = '');
 
Protected procedure indexerror(row: boolean; index: integer; text: string = '');
 
Protected procedure defineproperties(filer: tfiler); override;
 
Protected function getdisprect: rectty; override;
 
Protected procedure dofontheightdelta(var delta: integer); override;
 
Protected procedure fontchanged; override;
 
Protected procedure clientrectchanged; override;
 
Protected procedure internalcreateframe; override;
 
Protected function getscrollrect: rectty;
 
Protected procedure setscrollrect(const rect: rectty);
 
Protected function scrollcaret(const vertical: boolean): boolean; virtual;
 
Protected procedure firstcellclick(const cell: gridcoordty; var info: mouseeventinfoty); virtual;
 
Protected function getzebrastart: integer; virtual;
 
Protected function getnumoffset: integer; virtual;
 
Protected function createdatacols: tdatacols; virtual;
 
Protected procedure createdatacol(const index: integer; out item: tdatacol); virtual;
 
Protected function createfixcols: tfixcols; virtual;
 
Protected function createfixrows: tfixrows; virtual;
 
Protected procedure initcellinfo(var info: cellinfoty); virtual;
 
Protected function cellhasfocus: boolean; virtual;
 
Protected procedure colchanged(const sender: tcol);
 
Protected procedure cellchanged(const sender: tcol; const row: integer);
 
Protected procedure focusedcellchanged; virtual;
 
Protected procedure rowchanged(const arow: integer); virtual;
 
Protected procedure rowstatechanged(const arow: integer); virtual;
 
Protected procedure scrolled(const dist: pointty); virtual;
 
Protected function hascolumnsort: boolean;
 
Protected procedure sortchanged(const all: boolean);
 
Protected procedure checkinvalidate;
 
Protected function startanchor: gridcoordty;
 
Protected function endanchor: gridcoordty;
 
Protected procedure doselectionchanged; virtual;
 
Protected procedure docolmoved(const fromindex,toindex: integer); virtual;
 
Protected procedure dorowsmoved(const fromindex,toindex,count: integer); virtual;
 
Protected procedure dorowsinserting(var index,count: integer); virtual;
 
Protected procedure dorowsinserted(const index,count: integer); virtual;
 
Protected procedure dorowsdeleting(var index,count: integer); virtual;
 
Protected procedure dorowsdeleted(index,count: integer); virtual;
 
Protected procedure dorowsmodified;
 
Protected procedure doedited();
 
Protected procedure dorowsdatachanged(const acell: gridcoordty; const acount: integer); virtual;
 
Protected procedure dorowcountchanged(const countbefore,newcount: integer); virtual;
 
Protected procedure docellevent(var info: celleventinfoty); virtual;
 
Protected procedure cellmouseevent(const acell: gridcoordty; var info: mouseeventinfoty; const acellinfopo: pcelleventinfoty = nil; const aeventkind: celleventkindty = cek_none);
 
Protected procedure dofocusedcellposchanged; virtual;
 
Protected function isfirstrow: boolean; virtual;
 
Protected function islastrow: boolean; virtual;
 
Protected procedure internalinsertrow(var aindex: integer; var acount: integer; const auserinput: boolean); virtual;
 
Protected procedure internaldeleterow(var aindex: integer; var acount: integer; const auserinput: boolean); virtual;
 
Protected function internalsort(const sortfunc: indexsortcomparemethodty; var refindex: integer): boolean;
 
Protected procedure updaterowdata; virtual;
 
Protected procedure objectevent(const sender: tobject; const event: objecteventty); override;
 
Protected procedure doasyncevent(var atag: integer) override;
 
Protected procedure loaded; override;
 
Protected procedure doexit; override;
 
Protected procedure doenter; override;
 
Protected procedure doactivate; override;
 
Protected procedure dodeactivate; override;
 
Protected procedure activechanged; override;
 
Protected procedure getautopaintsize(var asize: sizety) override;
 
Protected procedure mouseevent(var info: mouseeventinfoty); override;
 
Protected procedure clientmouseevent(var info: mouseeventinfoty); override;
 
Protected procedure domousewheelevent(var info: mousewheeleventinfoty); override;
 
Protected procedure dokeydown(var info: keyeventinfoty); override;
 
Protected procedure dokeyup(var info: keyeventinfoty); override;
 
Protected procedure dopaintforeground(const acanvas: tcanvas); override;
 
Protected procedure dobeforepaint(const canvas: tcanvas); override;
 
Protected procedure doafterpaint(const canvas: tcanvas); override;
 
Protected function getnoscroll(): boolean override;
 
Protected procedure drawfocusedcell(const acanvas: tcanvas); virtual;
 
Protected procedure drawcellbackground(const acanvas: tcanvas);
 
Protected procedure drawcelloverlay(const acanvas: tcanvas);
 
Protected function caninsertrow: boolean; virtual;
 
Protected function canappendrow: boolean; virtual;
 
Protected function candeleterow: boolean; virtual;
 
Protected function canmoverow: boolean; virtual;
 
Protected procedure updatepopupmenu(var amenu: tpopupmenu; var mouseinfo: mouseeventinfoty); override;
 
Protected function rowatpos(y: integer): integer;
 
Protected function rowpos(arow: integer): integer;
 
Protected function ystep: integer;
 
Protected function mergestart(const acol: integer; const arow: integer): integer;
 
Protected function mergeend(const acol: integer; const arow: integer): integer;
 
Protected function getmerged(const arow: integer): longword;
 
Protected function nextfocusablecol(const acol: integer; const aleft: boolean; const arow: integer; const noreadonly: boolean): integer;
 
Protected procedure checkcellvalue(var accept: boolean); virtual;
 
Protected procedure checkmorerows(const acount: integer);
 
Protected procedure beforefocuscell(const cell: gridcoordty; const selectaction: focuscellactionty); virtual;
 
Protected procedure afterfocuscell(const cellbefore: gridcoordty; const selectaction: focuscellactionty); virtual;
 
Protected function wheelheight: integer;
 
Protected function calcshowshift(const rect: rectty; const position: cellpositionty): pointty;
 
Protected procedure focusrow(const arow: integer; const action: focuscellactionty; const noreadonly: boolean; const selectmode: selectcellmodety = scm_cell);
 
Protected function doremoveappinsrow(const oldrow,newrow: integer): boolean;
 
Protected function hassort: boolean;
 
Protected function canautoappend: boolean; virtual;
 
Protected function getdragrect(const apos: pointty): rectty; override;
 
Protected procedure scrollevent(sender: tcustomscrollbar; event: scrolleventty); virtual;
 
Protected function getcursorshape(const sender: tobjectpicker; var shape: cursorshapety): boolean;
 
Protected procedure getpickobjects(const sender: tobjectpicker; var objects: integerarty);
 
Protected procedure beginpickmove(const sender: tobjectpicker);
 
Protected procedure pickthumbtrack(const sender: tobjectpicker);
 
Protected procedure endpickmove(const sender: tobjectpicker);
 
Protected procedure cancelpickmove(const sender: tobjectpicker);
 
Protected procedure paintxorpic(const sender: tobjectpicker; const canvas: tcanvas);
 
Protected procedure dostatread(const reader: tstatreader); virtual;
 
Protected procedure dostatwrite(const writer: tstatwriter); virtual;
 
Protected procedure statreading;
 
Protected procedure statread;
 
Protected function getstatvarname: msestring;
 
Protected function getstatpriority: integer;
 
Protected procedure beginnullchecking;
 
Protected procedure endnullchecking;
 
Protected procedure beginnonullcheck;
 
Protected procedure endnonullcheck;
 
Protected procedure beginnocheckvalue;
 
Protected procedure endnocheckvalue;
 
Protected function nocheckvalue: boolean;
 
Protected procedure reorderrow;
 
Protected function getiassistiveclient(): iassistiveclient; override;
 
Protected function getassistiveflags(): assistiveflagsty; override;
 
Protected function getassistivecellcaption(const acell: gridcoordty): msestring virtual;
 
Protected function getassistivecelltext(const acell: gridcoordty; out aflags: assistiveflagsty): msestring virtual;
 
Protected function getassistivefocusedcell(): gridcoordty;
 
Protected function getassistivegridinfo(): assistivegridinfoty virtual;
 
Public constructor create(aowner: tcomponent); override;
 
Public destructor destroy; override;
 
Public procedure initnewcomponent(const ascale: real); override;
 
Public procedure synctofontheight; override;
 
Public procedure dragevent(var info: draginfoty); override;
 
Public function internaldragevent(var info: draginfoty): boolean; virtual;
 
Public function actualcursor(const apos: pointty): cursorshapety; override;
 
Public procedure beginupdate;
 
Public procedure endupdate(const nosort: boolean = false; const invalidrowstart: int32 = 0);
 
Public function updating: boolean; reintroduce;
 
Public function calcminscrollsize: sizety; override;
 
Public procedure layoutchanged;
 
Public function cellclicked: boolean;
 
Public procedure rowdatachanged; overload;
 
Public procedure rowdatachanged(const acell: gridcoordty; const count: integer = 1); overload;
 
Public procedure rowup(const action: focuscellactionty = fca_focusin; const nowrap: boolean = false) virtual;
 
Public procedure rowdown(const action: focuscellactionty = fca_focusin; const nowrap: boolean = false) virtual;
 
Public procedure pageup(const action: focuscellactionty = fca_focusin); virtual;
 
Public procedure pagedown(const action: focuscellactionty = fca_focusin); virtual;
 
Public procedure wheelup(const action: focuscellactionty = fca_focusin); virtual;
 
Public procedure wheeldown(const action: focuscellactionty = fca_focusin); virtual;
 
Public procedure lastrow(const action: focuscellactionty = fca_focusin); virtual;
 
Public procedure firstrow(const action: focuscellactionty = fca_focusin); virtual;
 
Public procedure colstep(const action: focuscellactionty; const step: integer; const rowchange: boolean; const nocolwrap: boolean; const noreadonly: boolean); virtual;
 
Public function hasdata: boolean;
 
Public function canexitrow(const force: boolean = false): boolean;
 
Public function cellexiting: boolean;
 
Public function gridprop(const coord: gridcoordty): tgridprop;
 
Public function isdatacell(const coord: gridcoordty): boolean;
 
Public function isvalidcell(const coord: gridcoordty): boolean;
 
Public function isfixrow(const coord: gridcoordty): boolean;
 
Public function isfixcol(const coord: gridcoordty): boolean;
 
Public function rowvisible(const arow: integer): integer;
 
Public function rowsperpage: integer;
 
Public function cellatpos(const apos: pointty; out coord: gridcoordty): cellkindty; overload;
 
Public function cellatpos(const apos: pointty): gridcoordty; overload;
 
Public function cellrect(const cell: gridcoordty; const innerlevel: cellinnerlevelty = cil_all; const nomerged: boolean = false; const acellorigin: boolean = false): rectty;
 
Public function clippedcellrect(const cell: gridcoordty; const innerlevel: cellinnerlevelty = cil_all): rectty;
 
Public function cellvisible(const acell: gridcoordty): boolean;
 
Public procedure invalidatecell(const cell: gridcoordty);
 
Public procedure invalidatefocusedcell;
 
Public procedure invalidaterow(const arow: integer);
 
Public function selectcell(const cell: gridcoordty; const amode: cellselectmodety; const checkmultiselect: boolean = false): boolean;
 
Public function getselectedrange: gridrectty;
 
Public function focuscell(cell: gridcoordty; selectaction: focuscellactionty = fca_focusin; const selectmode: selectcellmodety = scm_cell; const ashowcell: cellpositionty = cep_nearest): boolean; virtual;
 
Public procedure focuscolbyname(const aname: string);
 
Public function focusedcellvalid: boolean;
 
Public function rowremoving: boolean;
 
Public function scrollingcol: boolean;
 
Public function noscrollingcol: boolean;
 
Public function defocuscell: boolean;
 
Public function defocusrow: boolean;
 
Public function showrect(const rect: rectty; const position: cellpositionty = cep_nearest; const noxshift: boolean = false): pointty;
 
Public function showcaretrect(const arect: rectty; const aframe: tcustomframe): pointty; overload;
 
Public function showcaretrect(const arect: rectty; const aframe: framety): pointty; overload;
 
Public function showcellrect(const rect: rectty; const origin: cellinnerlevelty = cil_paint): pointty;
 
Public procedure showcell(const cell: gridcoordty; const position: cellpositionty = cep_nearest; const force: boolean = false);
 
Public procedure showrow(const arow: integer; const position: cellpositionty = cep_nearest; const force: boolean = false);
 
Public procedure showlastrow;
 
Public procedure scrollrows(step: integer);
 
Public procedure scrollleft;
 
Public procedure scrollright;
 
Public procedure scrollpageleft;
 
Public procedure scrollpageright;
 
Public function userinput: boolean;
 
Public procedure movecol(curindex,newindex: integer; const auserinput: boolean = false); virtual;
 
Public procedure moverow(curindex,newindex: integer; count: integer = 1; const auserinput: boolean = false); virtual;
 
Public function insertrow(aindex: integer; acount: integer = 1; const auserinput: boolean = false): int32;
 
Public procedure deleterow(aindex: integer; acount: integer = 1; const auserinput: boolean = false);
 
Public function appinsrow(aindex: integer;const auserinput: boolean = false): int32;
 
Public function isinsertempty: boolean;
 
Public function isautoappend: boolean;
 
Public function autoappending: boolean;
 
Public function checkreautoappend: boolean;
 
Public procedure removeappendedrow;
 
Public function autoremoving: boolean;
 
Public procedure clear;
 
Public function appendrow(const checkautoappend: boolean = false): integer;
 
Public function appenddatarow: integer;
 
Public procedure sortinvalid(const acol: integer = invalidaxis; const arow: integer = invalidaxis);
 
Public function checksort: boolean;
 
Public procedure sort;
 
Public function copyselection: boolean; virtual;
 
Public function pasteselection: boolean; virtual;
 
Public function rowhigh: integer;
 
Public function datarowhigh: integer;
 
Public function visiblerow(const arow: integer): integer;
 
Public function rowfoldinfo: prowfoldinfoty;
 

Properties

Public property cellwindowpos: pointty read getcellwindowpos write setcellwindowpos;
 
Public property rowwindowpos: int32 read getrowwindowpos write setrowwindowpos;
 
Public property colwindowpos: int32 read getcolwindowpos write setcolwindowpos;
 
Public property optionsgrid: optionsgridty read foptionsgrid write setoptionsgrid default defaultoptionsgrid;
 
Public property optionsgrid1: optionsgrid1ty read foptionsgrid1 write foptionsgrid1 default [];
 
Public property optionsfold: optionsfoldty read foptionsfold write foptionsfold default [];
 
Public property norowedit: boolean read fnorowedit write fnorowedit;
 
Public property sorted: boolean read getsorted write setsorted;
 
Public property folded: boolean read getfolded write setfolded;
 
Public property datarowlinewidth: integer read fdatarowlinewidth write setdatarowlinewidth default defaultgridlinewidth;
 
Public property datarowlinecolorfix: colorty read fdatarowlinecolorfix write setdatarowlinecolorfix default defaultfixlinecolor;
 
Public property datarowlinecolor: colorty read fdatarowlinecolor write setdatarowlinecolor default defaultdatalinecolor;
 
Public property datarowheight: integer read fdatarowheight write setdatarowheight default griddefaultrowheight;
 
Public property datarowheightmin: integer read fdatarowheightmin write fdatarowheightmin default 1;
 
Public property datarowheightmax: integer read fdatarowheightmax write fdatarowheightmax default maxint;
 
Public property datacols: tdatacols read fdatacols write setdatacols;
 
Public property fixcols: tfixcols read ffixcols write setfixcols;
 
Public property fixrows: tfixrows read ffixrows write setfixrows;
 
Public property rowcount: integer read frowcount write setrowcount default 0;
 
Public property rowcountmax: integer read frowcountmax write setrowcountmax default bigint;
 
Public property firstvisiblerow: integer read ffirstvisiblerow;
 
Public property lastvisiblerow: integer read flastvisiblerow;
 
Public property visiblerows: integerarty read fvisiblerows;
 
Public property focusedcell: gridcoordty read ffocusedcell;
 
Public property col: integer read ffocusedcell.col write setcol;
 
Public property row: integer read ffocusedcell.row write setrow;
 
Public property mousecell: gridcoordty read fmousecell;
 
Public property gridframecolor: colorty read fgridframecolor write setgridframecolor default cl_gridframe;
 
Public property rowcolors: tcolorarrayprop read frowcolors write setrowcolors;
 
Public property rowcolorstate[index:integer]: rowstatenumty read getrowcolorstate write setrowcolorstate;
 
Public property rowlinecolorstate[index:integer]: rowstatenumty read getrowlinecolorstate write setrowlinecolorstate;
 
Public property rowlinecolorfixstate[index:integer]: rowstatenumty read getrowlinecolorfixstate write setrowlinecolorfixstate;
 
Public property rowlinewidth[index:integer]: rowlinewidthty read getrowlinewidth write setrowlinewidth;
 
Public property rowfonts: trowfontarrayprop read frowfonts write setrowfonts;
 
Public property rowfontstate[index:integer]: rowstatenumty read getrowfontstate write setrowfontstate;
 
Public property rowreadonlystate[index:integer]: boolean read getrowreadonlystate write setrowreadonlystate;
 
Public property rowhidden[index:integer]: boolean read getrowhidden write setrowhidden;
 
Public property rowfoldlevel[index:integer]: byte read getrowfoldlevel write setrowfoldlevel;
 
Public property rowfoldissum[index:integer]: boolean read getrowfoldissum write setrowfoldissum;
 
Public property rowheight[index:integer]: integer read getrowheight write setrowheight;
 
Public property rowstatelist: trowstatelist read getrowstatelist write setrowstatelist;
 
Public property ifilink: tifigridlinkcomp read fifilink write setifilink;
 
Public property zebra_color: colorty read fzebra_color write setzebra_color default cl_zebra;
 
Public property zebra_start: integer read fzebra_start write setzebra_start default 0;
 
Public property zebra_height: integer read fzebra_height write setzebra_height default 0;
 
Public property zebra_step: integer read fzebra_step write setzebra_step default 2;
 
Public property statfile: tstatfile read fstatfile write setstatfile;
 
Public property statvarname: msestring read getstatvarname write fstatvarname;
 
Public property statpriority: integer read fstatpriority write fstatpriority default 0;
 
Public property onbeforeupdatelayout: gridnotifyeventty read fonbeforeupdatelayout write fonbeforeupdatelayout;
 
Public property onlayoutchanged: gridnotifyeventty read fonlayoutchanged write fonlayoutchanged;
 
Public property oncolmoving: gridblockmovingeventty read foncolmoving write foncolmoving;
 
Public property oncolmoved: gridblockmovedeventty read foncolmoved write foncolmoved;
 
Public property onrowcountchanged: gridnotifyeventty read fonrowcountchanged write fonrowcountchanged;
 
Public property onrowsdatachanged: griddatablockeventty read fonrowsdatachanged write fonrowsdatachanged;
 
Public property onrowdatachanged: griddataeventty read fonrowdatachanged write fonrowdatachanged;
 
Public property onrowsmoving: gridblockmovingeventty read fonrowsmoving write fonrowsmoving;
 
Public property onrowsmoved: gridblockmovedeventty read fonrowsmoved write fonrowsmoved;
 
Public property onscrollrows: gridscrolleventty read fonscrollrows write fonscrollrows;
 
Public property ongetmorerows: gridmorerowseventty read fongetmorerows write fongetmorerows;
 
Public property onrowsinserting: gridbeforeblockeventty read fonrowsinserting write fonrowsinserting;
 
Public property onrowsinserted: gridblockeventty read fonrowsinserted write fonrowsinserted;
 
Public property onrowsdeleting: gridbeforeblockeventty read fonrowsdeleting write fonrowsdeleting;
 
Public property onrowsdeleted: gridblockeventty read fonrowsdeleted write fonrowsdeleted;
 
Public property onrowsmodified: notifyeventty read fonrowsmodified write fonrowsmodified;
 
Public property onedited: notifyeventty read fonedited write fonedited;
 
Public property onsort: gridsorteventty read fonsort write fonsort;
 
Public property onsortchanged: gridnotifyeventty read fonsortchanged write fonsortchanged;
 
Public property oncellevent: celleventty read foncellevent write foncellevent;
 
Public property onselectionchanged: notifyeventty read fonselectionchanged write fonselectionchanged;
 
Public property oncopyselection: copyselectioneventty read foncopyselection write foncopyselection;
 
Public property onpasteselection: pasteselectioneventty read fonpasteselection write fonpasteselection;
 
Public property drag: tdragcontroller read fdragcontroller write setdragcontroller;
 
Published property frame: tgridframe read getframe write setframe;
 
Published property font: twidgetfont read getfont write setfont stored isfontstored;
 
Published property fontempty: twidgetfontempty read getfontempty write setfontempty stored isfontemptystored;
 
Published property onkeydown: keyeventty read fonkeydown write fonkeydown;
 
Published property wheelscrollheight: integer read fwheelscrollheight write fwheelscrollheight default defaultwheelscrollheight;
 
Published property optionswidget default defaultgridwidgetoptions;
 
Published property optionswidget1 default defaultgridwidgetoptions1;
 
Published property onshortcut;
 

Generated by PasDoc 0.16.0.