Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Replacing value in Grid
Message
From
20/07/2023 18:37:06
Luis Santos
Biglevel-Soluções Informáticas, Lda
Portugal
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Replacing value in Grid
Miscellaneous
Thread ID:
01686818
Message ID:
01686818
Views:
80
Hi,

I have this code to replace value on specific column in my grid, but sometimes nothing happen.
LOCAL loForm, loGrid, lcCursorName, lnRow, lcControlSource, lcNewValue, lcReplaceCmd

loForm = SFT  && Get a reference to the active form (form with focus)
loGrid = loForm.pageframe1.page1.cont1.grid1  && Replace "pageframe1", "page1", "cont1", and "grid" with the actual names of the controls

* Get the Cursor/Table name from the Grid's RecordSource property
lcCursorName = loGrid.RecordSource

IF USED(lcCursorName) AND !EMPTY(lcCursorName) AND TYPE("lcCursorName") = "C"
    * Find the column index by ControlSource
    lnCol = 0
    FOR lnIndex = 1 TO loGrid.ColumnCount
        lcControlSource = loGrid.Columns(lnIndex).ControlSource
        IF lcControlSource = "FI.REF"
            lnCol = lnIndex
            EXIT  && Exit the loop once "REF" column is found
        ENDIF
    ENDFOR

    IF lnCol > 0
        * Loop through the rows and modify the data in the underlying cursor
        FOR lnRow = 1 TO _TALLY
            IF VARTYPE(EVAL(lcControlSource)) = "C"  && Check if the field is a string (character)
                lcNewValue = "Novaref"  && Replace with your desired new value
                lcReplaceCmd = 'REPLACE ' + lcControlSource + ' IN (lcCursorName) WITH (lcNewValue) FOR RECNO() = lnRow AND EMPTY(EVAL("' + lcControlSource + '"))'
                &lcReplaceCmd  && Execute the REPLACE command
            ENDIF
        ENDFOR
    ELSE
        ? "Column 'REF' not found in the grid."
    ENDIF
ELSE
    ? "Invalid or empty cursor name in the grid's RecordSource."
ENDIF

* Refresh the grid to reflect the changes
loGrid.Refresh()

READ EVENTS
someone could help me!
Thanks
Luis
Next
Reply
Map
View

Click here to load this message in the networking platform