LPARAMETERS tcCaption, tcSourceTable, tnMaxSelected > > >LOCAL llRetVal, loSetAllX > > >THIS.CAPTION = tcCaption > > >llRetVal = DODEFAULT() > > >IF llRetVal > THIS.cOldDeleted = SET("DELETED") > > SET DELETED ON > > > THIS.cSourceTable = tcSourceTable > > > *** Populate Available Cursor/Grid > THIS.lstAvailable.RECORDSOURCE = "" > > CloseUsed(THISFORM.icAvailableCursorName) > > SELECT * ; > FROM (tcSourceTable) ; > INTO CURSOR (THISFORM.icAvailableCursorName) > > MakeCursorRW() > > THIS.lstAvailable.RECORDSOURCE = THISFORM.icAvailableCursorName > THIS.nAvailableCount = RECCOUNT() > > > *** Populate Selected Cursor/Grid > THIS.lstSelected.RECORDSOURCE = "" > > CloseUsed(THISFORM.icSelectedCursorName) > > SELECT * ; > FROM (tcSourceTable) ; > INTO CURSOR (THISFORM.icSelectedCursorName) > > MakeCursorRW() > > THIS.lstSelected.RECORDSOURCE = THISFORM.icSelectedCursorName > THIS.nSelectedCount = 0 > > DELETE ALL > > > *** Make all the controls in the grid disabled so as it make them clickable > loSetAllX = CREATEOBJECT("SetAllX") > > *loSetAllX.SetAllX(THIS.lstAvailable, "Enabled", .F.) > loSetAllX.SetAllX(THIS.lstAvailable, "DisabledForeColor", RGB(0,0,0)) > loSetAllX.SetAllX(THIS.lstAvailable, "DisabledBackColor", RGB(192,192,192)) > > *loSetAllX.SetAllX(THIS.lstSelected , "Enabled", .F.) > loSetAllX.SetAllX(THIS.lstSelected, "DisabledForeColor", RGB(0,0,0)) > loSetAllX.SetAllX(THIS.lstSelected, "DisabledBackColor", RGB(192,192,192)) > > loSetAllX = .NULL. > > > IF TYPE("tnMaxSelected") = "N" AND tnMaxSelected > 0 > THIS.nMaxSelected = tnMaxSelected > ENDIF > > > IF FILE(THISFORM.icNoDropIcon) > THISFORM.lstAvailable.DRAGICON = FULLPATH(THISFORM.icNoDropIcon) > THISFORM.lstSelected.DRAGICON = FULLPATH(THISFORM.icNoDropIcon) > ENDIF > > > DO CASE > CASE THIS.nMaxSelected = 1 > THISFORM.cmdAddAll.SetVisible(.F.) > THISFORM.cmdRemoveAll.SetVisible(.F.) > > CASE THIS.nMaxSelected > 1 > THISFORM.cmdAddAll.CAPTION = "Add Max " + ALLTRIM(STR(THIS.nMaxSelected)) > ENDCASE >ENDIF > > >THISFORM.RemoveObject("cmdCancel") > > >RETURN llRetVal