Previous topic Next topic
GRID
Help > Controls >

/////////////////////////////////////////////////////////////////////
// GRID - Standard version
/////////////////////////////////////////////////////////////////////

#command @ <row>, <col> GRID <name> ;
      [ OBJ <obj> ] ;
      [ <dummy01: OF, PARENT> <parent> ] ;
      [ WIDTH <w> ] ;
      [ HEIGHT <h> ] ;
      [ HEADERS <headers> ] ;
      [ WIDTHS <widths> ] ;
      [ INPUTMASK <Picture> ] ;
      [ ITEMS <rows> ] ;
      [ VALUE <value> ] ;
      [ FONT <fontname> ] ;
      [ SIZE <fontsize> ] ;
      [ <bold: BOLD> ] ;
      [ <italic: ITALIC> ] ;
      [ <underline: UNDERLINE> ] ;
      [ <strikeout: STRIKEOUT> ] ;
      [ TOOLTIP <tooltip> ] ;
      [ BACKCOLOR <backcolor> ] ;
      [ FONTCOLOR <fontcolor> ] ;
      [ DYNAMICBACKCOLOR <dynamicbackcolor> ] ;
      [ DYNAMICFORECOLOR <dynamicforecolor> ] ;
      [ <dummy02: ONGOTFOCUS, ON GOTFOCUS> <gotfocus> ] ;
      [ <dummy03: ONCHANGE, ON CHANGE> <change> ] ;
      [ <dummy04: ONLOSTFOCUS, ON LOSTFOCUS> <lostfocus> ] ;
      [ <dummy05: ONDBLCLICK, ON DBLCLICK> <dblclick> ] ;
      [ <dummy06: ACTION, ONCLICK, ON CLICK> <click> ] ;
      [ <dummy07: ONHEADCLICK, ON HEADCLICK> <aHeadClick> ] ;
      [ <edit: EDIT> ] ;
      [ <ownerdata: VIRTUAL> ] ;
      [ ITEMCOUNT <itemcount> ] ;
      [ <dummy08: ONQUERYDATA, ON QUERYDATA> <dispinfo> ] ;
      [ <multiselect: MULTISELECT> ] ;
      [ <style: NOLINES> ] ;
      [ IMAGE <aImage> ] ;
      [ JUSTIFY <aJust> ] ;
      [ HELPID <helpid> ] ;
      [ <break: BREAK> ] ;
      [ <rtl: RTL> ] ;
      [ <inplace: INPLACE> ] ;
      [ COLUMNCONTROLS <editcontrols> ] ;
      [ READONLY <aReadOnly> ] ;
      [ <dummy20: VALID, COLUMNVALID> <aValidFields> ] ;
      [ VALIDMESSAGES <aValidMessages> ] ;
      [ <dummy09: ONEDITCELL, ON EDITCELL> <editcell> ] ;
      [ <noshowheaders: NOHEADERS> ] ;
      [ <dummy10: WHEN, COLUMNWHEN> <aWhenFields> ] ;
      [ SUBCLASS <subclass> ] ;
      [ <disabled: DISABLED> ] ;
      [ <notabstop: NOTABSTOP> ] ;
      [ <invisible: INVISIBLE> ] ;
      [ <dummy11: ONENTER, ON ENTER> <enter> ] ;
      [ HEADERIMAGES <aHeaderImages> ] ;
      [ IMAGESALIGN <aImgAlign> ] ;
      [ <fullmove: FULLMOVE> ] ;
      [ <bycell: NAVIGATEBYCELL> ] ;
      [ SELECTEDCOLORS <aSelectedColors> ] ;
      [ EDITKEYS <aEditKeys> ] ;
      [ <checkboxes: CHECKBOXES> ] ;
      [ <dummy12: ONCHECKCHANGE, ON CHECKCHANGE> <checkchange> ] ;
      [ <bffr: DOUBLEBUFFER, SINGLEBUFFER> ] ;
      [ <focus: NOFOCUSRECT, FOCUSRECT> ] ;
      [ <plm: PAINTLEFTMARGIN> ] ;
      [ <fixedcols: FIXEDCOLS> ] ;
      [ <dummy13: ONABORTEDIT, ON ABORTEDIT> <abortedit> ] ;
      [ <fixedwidths: FIXEDWIDTHS> ] ;
      [ BEFORECOLMOVE <bBefMov> ] ;
      [ AFTERCOLMOVE <bAftMov> ] ;
      [ BEFORECOLSIZE <bBefSiz> ] ;
      [ AFTERCOLSIZE <bAftSiz> ] ;
      [ BEFOREAUTOFIT <bBefAut> ] ;
      [ <excel: EDITLIKEEXCEL> ] ;
      [ <buts: USEBUTTONS> ] ;
      [ <delete: DELETE> ] ;
      [ DELETEWHEN <bWhenDel> ] ;
      [ DELETEMSG <DelMsg> ] ;
      [ <dummy14: ONDELETE, ON DELETE> <onDelete> ] ;
      [ <nodelmsg: NODELETEMSG> ] ;
      [ <append: APPEND> ] ;
      [ <dummy15: ONAPPEND, ON APPEND> <onappend> ] ;
      [ <nomodal: NOMODALEDIT> ] ;
      [ <edtctrls: FIXEDCONTROLS, DYNAMICCONTROLS> ] ;
      [ <dummy16: ONHEADRCLICK, ON HEADRCLICK> <bheadrclick> ] ;
      [ <noclick: NOCLICKONCHECKBOX> ] ;
      [ <norclick: NORCLICKONCHECKBOX> ] ;
      [ <extdbl: EXTDBLCLICK> ] ;
      [ <silent: SILENT> ] ;
      [ <alta: ENABLEALTA, DISABLEALTA> ] ;
      [ <noshow: NOSHOWALWAYS> ] ;
      [ <none: NONEUNSELS, IGNORENONE> ] ;
      [ <cbe: CHANGEBEFOREEDIT> ] ;
      [ <dummy17: ONRCLICK, ON RCLICK> <rclick> ] ;
      [ <dummy18: ONINSERT, ON INSERT> <oninsert> ] ;
      [ <dummy19: ONEDITCELLEND, ON EDITCELLEND> <editend> ] ;
      [ <efv: EDITFIRSTVISIBLE> ] ;
      [ <dummy20: ONBEFOREEDITCELL, ON BEFOREEDITCELL> <beforedit> ] ;
   =>;
      [ <obj> := ] _OOHG_SelectSubClass( IIF( <.bycell.>, TGridByCell(), ;
            IIF( <.multiselect.>, TGridMulti(), TGrid() ) ), ;
            [ <subclass>() ] ):Define( <(name)>, <(parent)>, <col>, <row>, ;
            <w>, <h>, <headers>, <widths>, <rows>, <value>, <fontname>, ;
            <fontsize>, <tooltip>, <{change}>, <{dblclick}>, <aHeadClick>, ;
            <{gotfocus}>, <{lostfocus}>, <.style.>, <aImage>, <aJust>, ;
            <.break.>, <helpid>, <.bold.>, <.italic.>, <.underline.>, ;
            <.strikeout.>, <.ownerdata.>, <{dispinfo}>, <itemcount>, <.edit.>, ;
            <backcolor>, <fontcolor>, <dynamicbackcolor>, <dynamicforecolor>, ;
            <Picture>, <.rtl.>, <.inplace.>, <editcontrols>, <aReadOnly>, ;
            <aValidFields>, <aValidMessages>, <{editcell}>, <aWhenFields>, ;
            <.disabled.>, <.notabstop.>, <.invisible.>, ! <.noshowheaders.>, ;
            <{enter}>, <aHeaderImages>, <aImgAlign>, <.fullmove.>, ;
            <aSelectedColors>, <aEditKeys>, <.checkboxes.>, <{checkchange}>, ;
            IIF( Upper( #<bffr> ) == "DOUBLEBUFFER", .T., ;
            IIF( Upper( #<bffr> ) == "SINGLEBUFFER", .F., .T. ) ), ;
            IIF( #<focus> == "NOFOCUSRECT", .F., ;
            IIF( #<focus> == "FOCUSRECT", .T., NIL ) ), ;
            <.plm.>, <.fixedcols.>, <{abortedit}>, <{click}>, <.fixedwidths.>, ;
            <{bBefMov}>, <{bAftMov}>, <{bBefSiz}>, <{bAftSiz}>, <{bBefAut}>, ;
            <.excel.>, <.buts.>, <.delete.>, <{onDelete}>, <{bWhenDel}>, ;
            <DelMsg>, <.nodelmsg.>, <.append.>, <{onappend}>, <.nomodal.>, ;
            IIF( Upper( #<edtctrls> ) == "FIXEDCONTROLS", .T., ;
            IIF( Upper( #<edtctrls> ) == "DYNAMICCONTROLS", .F., NIL ) ), ;
            <{bheadrclick}>, ! <.noclick.>, ! <.norclick.>, <.extdbl.>, ;
            <.silent.>, Upper( #<alta> ) == "ENABLEALTA", <.noshow.>, ;
            Upper( #<none> ) == "NONEUNSELS", <.cbe.>, <{rclick}>, ;
            <{oninsert}>, <{editend}>, ! <.efv.>, <{beforedit}> )


/////////////////////////////////////////////////////////////////////
// GRID - SplitBox version
/////////////////////////////////////////////////////////////////////

#command GRID <name> ;
      [ OBJ <obj> ] ;
      [ <dummy01: OF, PARENT> <parent> ] ;
      [ WIDTH <w> ] ;
      [ HEIGHT <h> ] ;
      [ HEADERS <headers> ] ;
      [ WIDTHS <widths> ] ;
      [ INPUTMASK <Picture> ] ;
      [ ITEMS <rows> ] ;
      [ VALUE <value> ] ;
      [ FONT <fontname> ] ;
      [ SIZE <fontsize> ] ;
      [ <bold: BOLD> ] ;
      [ <italic: ITALIC> ] ;
      [ <underline: UNDERLINE> ] ;
      [ <strikeout: STRIKEOUT> ] ;
      [ TOOLTIP <tooltip> ] ;
      [ BACKCOLOR <backcolor> ] ;
      [ FONTCOLOR <fontcolor> ] ;
      [ DYNAMICBACKCOLOR <dynamicbackcolor> ] ;
      [ DYNAMICFORECOLOR <dynamicforecolor> ] ;
      [ <dummy02: ONGOTFOCUS, ON GOTFOCUS> <gotfocus> ] ;
      [ <dummy03: ONCHANGE, ON CHANGE> <change> ] ;
      [ <dummy04: ONLOSTFOCUS, ON LOSTFOCUS> <lostfocus> ] ;
      [ <dummy05: ONDBLCLICK, ON DBLCLICK> <dblclick> ] ;
      [ <dummy06: ACTION, ONCLICK, ON CLICK> <click> ] ;
      [ <dummy07: ONHEADCLICK, ON HEADCLICK> <aHeadClick> ] ;
      [ <edit: EDIT> ] ;
      [ <ownerdata: VIRTUAL> ] ;
      [ ITEMCOUNT <itemcount> ] ;
      [ <dummy08: ONQUERYDATA, ON QUERYDATA> <dispinfo> ] ;
      [ <multiselect: MULTISELECT> ] ;
      [ <style: NOLINES> ] ;
      [ IMAGE <aImage> ] ;
      [ JUSTIFY <aJust> ] ;
      [ HELPID <helpid> ] ;
      [ <break: BREAK> ] ;
      [ <rtl: RTL> ] ;
      [ <inplace: INPLACE> ] ;
      [ COLUMNCONTROLS <editcontrols> ] ;
      [ READONLY <aReadOnly> ] ;
      [ <dummy20: VALID, COLUMNVALID> <aValidFields> ] ;
      [ VALIDMESSAGES <aValidMessages> ] ;
      [ <dummy09: ONEDITCELL, ON EDITCELL> <editcell> ] ;
      [ <noshowheaders: NOHEADERS> ] ;
      [ <dummy10: WHEN, COLUMNWHEN> <aWhenFields> ] ;
      [ SUBCLASS <subclass> ] ;
      [ <disabled: DISABLED> ] ;
      [ <notabstop: NOTABSTOP> ] ;
      [ <invisible: INVISIBLE> ] ;
      [ <dummy11: ONENTER, ON ENTER> <enter> ] ;
      [ HEADERIMAGES <aHeaderImages> ] ;
      [ IMAGESALIGN <aImgAlign> ] ;
      [ <fullmove: FULLMOVE> ] ;
      [ <bycell: NAVIGATEBYCELL> ] ;
      [ SELECTEDCOLORS <aSelectedColors> ] ;
      [ EDITKEYS <aEditKeys> ] ;
      [ <checkboxes: CHECKBOXES> ] ;
      [ <dummy12: ONCHECKCHANGE, ON CHECKCHANGE> <checkchange> ] ;
      [ <bffr: DOUBLEBUFFER, SINGLEBUFFER> ] ;
      [ <focus: NOFOCUSRECT, FOCUSRECT> ] ;
      [ <plm: PAINTLEFTMARGIN> ] ;
      [ <fixedcols: FIXEDCOLS> ] ;
      [ <dummy13: ONABORTEDIT, ON ABORTEDIT> <abortedit> ] ;
      [ <fixedwidths: FIXEDWIDTHS> ] ;
      [ BEFORECOLMOVE <bBefMov> ] ;
      [ AFTERCOLMOVE <bAftMov> ] ;
      [ BEFORECOLSIZE <bBefSiz> ] ;
      [ AFTERCOLSIZE <bAftSiz> ] ;
      [ BEFOREAUTOFIT <bBefAut> ] ;
      [ <excel: EDITLIKEEXCEL> ] ;
      [ <buts: USEBUTTONS> ] ;
      [ <delete: DELETE> ] ;
      [ DELETEWHEN <bWhenDel> ] ;
      [ DELETEMSG <DelMsg> ] ;
      [ <dummy14: ONDELETE, ON DELETE> <onDelete> ] ;
      [ <nodelmsg: NODELETEMSG> ] ;
      [ <append: APPEND> ] ;
      [ <dummy15: ONAPPEND, ON APPEND> <onappend> ] ;
      [ <nomodal: NOMODALEDIT> ] ;
      [ <edtctrls: FIXEDCONTROLS, DYNAMICCONTROLS> ] ;
      [ <dummy16: ONHEADRCLICK, ON HEADRCLICK> <bheadrclick> ] ;
      [ <noclick: NOCLICKONCHECKBOX> ] ;
      [ <norclick: NORCLICKONCHECKBOX> ] ;
      [ <extdbl: EXTDBLCLICK> ] ;
      [ <silent: SILENT> ] ;
      [ <alta: ENABLEALTA, DISABLEALTA> ] ;
      [ <noshow: NOSHOWALWAYS> ] ;
      [ <none: NONEUNSELS, IGNORENONE> ] ;
      [ <cbe: CHANGEBEFOREEDIT> ] ;
      [ <dummy17: ONRCLICK, ON RCLICK> <rclick> ] ;
      [ <dummy18: ONINSERT, ON INSERT> <oninsert> ] ;
      [ <dummy19: ONEDITCELLEND, ON EDITCELLEND> <editend> ] ;
      [ <efv: EDITFIRSTVISIBLE> ] ;
      [ <dummy20: ONBEFOREEDITCELL, ON BEFOREEDITCELL> <beforedit> ] ;
   =>;
      [ <obj> := ] _OOHG_SelectSubClass( IIF( <.bycell.>, TGridByCell(), ;
            IIF( <.multiselect.>, TGridMulti(), TGrid() ) ), ;
            [ <subclass>() ] ):Define( <(name)>, <(parent)>, , , <w>, <h>, ;
            <headers>, <widths>, <rows>, <value>, <fontname>, <fontsize>, ;
            <tooltip>, <{change}>, <{dblclick}>, <aHeadClick>, <{gotfocus}>, ;
            <{lostfocus}>, <.style.>, <aImage>, <aJust>, <.break.>, <helpid>, ;
            <.bold.>, <.italic.>, <.underline.>, <.strikeout.>, <.ownerdata.>, ;
            <{dispinfo}>, <itemcount>, <.edit.>, <backcolor>, <fontcolor>, ;
            <dynamicbackcolor>, <dynamicforecolor>, <Picture>, <.rtl.>, ;
            <.inplace.>, <editcontrols>, <aReadOnly>, <aValidFields>, ;
            <aValidMessages>, <{editcell}>, <aWhenFields>, <.disabled.>, ;
            <.notabstop.>, <.invisible.>, ! <.noshowheaders.>, <{enter}>, ;
            <aHeaderImages>, <aImgAlign>, <.fullmove.>, <aSelectedColors>, ;
            <aEditKeys>, <.checkboxes.>, <{checkchange}>, ;
            IIF( Upper( #<bffr> ) == "DOUBLEBUFFER", .T., ;
            IIF( Upper( #<bffr> ) == "SINGLEBUFFER", .F., .T. ) ), ;
            IIF( #<focus> == "NOFOCUSRECT", .F., ;
            IIF( #<focus> == "FOCUSRECT", .T., NIL ) ), ;
            <.plm.>, <.fixedcols.>, <{abortedit}>, <{click}>, <.fixedwidths.>, ;
            <{bBefMov}>, <{bAftMov}>, <{bBefSiz}>, <{bAftSiz}>, <{bBefAut}>, ;
            <.excel.>, <.buts.>, <.delete.>, <{onDelete}>, <{bWhenDel}>, ;
            <DelMsg>, <.nodelmsg.>, <.append.>, <{onappend}>, <.nomodal.>, ;
            IIF( Upper( #<edtctrls> ) == "FIXEDCONTROLS", .T., ;
            IIF( Upper( #<edtctrls> ) == "DYNAMICCONTROLS", .F., NIL ) ), ;
            <{bheadrclick}>, ! <.noclick.>, ! <.norclick.>, <.extdbl.>, ;
            <.silent.>, Upper( #<alta> ) == "ENABLEALTA", <.noshow.>, ;
            Upper( #<none> ) == "NONEUNSELS", <.cbe.>, <{rclick}>, ;
            <{oninsert}>, <{editend}>, ! <.efv.>, <{beforedit}> )

Related commands and functions:

*** Standard syntax:

   SET GRIDFIXEDCONTROLS OFF
   SET GRIDFIXEDCONTROLS ON

*** Alternative syntax:

   SetGridFixedControls( .F. )
   SetGridFixedControls( .T. )

Column justification constants:

   GRID_JTFY_LEFT
   GRID_JTFY_RIGHT
   GRID_JTFY_CENTER

Placement of headers images:

   HEADER_IMG_AT_LEFT
   HEADER_IMG_AT_RIGHT

COLUMNCONTROLS syntax:

   {'TEXTBOX', cType, cPicture, cFunction, nOnFocusPos, lButtons, aImages, lLikeExcel, cEditKey, lNoModal}
   {'TEXTBOXACTION', cType, cPicture, cFunction, nOnFocusPos, aImages, lLikeExcel, cEditKey, lNoModal, bAction, bAction2}
   {'MEMO', cTitle, lCleanCRLF, nWidth, nHeight, lSize, lNoHScroll}
   {'DATEPICKER', lUpDown, lShowNone, lButtons, aImages, lNoModal}
   {'COMBOBOX', aItems, aValues, cRetValType, lButtons, aImages, lNoModal}
   {'COMBOBOXTEXT', aItems, lIncremental, lWinSize, lButtons, aImages, lNoModal}
   {'SPINNER', nRangeMin, nRangeMax, lButtons, aImages, lNoModal}
   {'CHECKBOX', cTrue, cFalse, lButtons, aImages, lNoModal}
   {'IMAGELIST', lButtons, aImages, lNoModal}
   {'IMAGEDATA', oData, lButtons, aImages, lNoModal}
   {'LCOMBOBOX', cTrue, cFalse, lButtons, aImages, lNoModal}