IF lEnable THIS.AddToComboList() ENDIFThen add this method:
*************************************************************************** *!* Method: AddToComboList *!* Purpose: IF ROWSOURCETYPE = 6, Add non-valid item to view so user *!* can edit. Could be modified to handle other ROWSOURCE types. *!* *!* Author: bxk 2004.09.06 *!* Parameters: *!* Returns: *!* Modifications: *!* *************************************************************************** LOCAL lnStart, luValue, lnEnd, lcColumn STORE 0 TO lnStart, lnEnd STORE "" TO lcColumn WITH THIS IF !EMPTY(.cListView) IF EMPTY(.ControlSource) luValue = "" ELSE luValue = EVAL(.ControlSource) ENDIF luValue = IIF( VARTYPE(luValue) = 'C', ALLTRIM(luValue), luValue) IF !EMPTY(luValue) .AND. THIS.ROWSOURCETYPE = 6 && Fields lnStart = ATC('.', .ROWSOURCE) IF .COLUMNCOUNT > 1 && comma delimited list of fields IF .BOUNDCOLUMN = 1 lnEnd = ATC(',', .ROWSOURCE) lcColumn = SUBSTR(.ROWSOURCE, lnStart + 1, ; lnEnd - lnStart - 1) ELSE lnStart = ATC(',', .ROWSOURCE, .BOUNDCOLUMN - 1) lnEnd = ATC(',', .ROWSOURCE, .BOUNDCOLUMN) lcColumn = SUBSTR(.ROWSOURCE, lnStart + 1, ; lnEnd - lnStart - 1) ENDIF ELSE lcColumn = SUBSTR(.ROWSOURCE, lnStart + 1) ENDIF SELECT (.cListView) LOCATE FOR &lcColumn = luValue IF !FOUND() APPEND BLANK IN (.cListView) REPLACE (lcColumn) WITH luValue .SETFOCUS() .REFRESH() ENDIF ENDIF ENDIF ENDWITH RETURN