Grid control - using RECORD-TO-DELETE to delete a row/record



The documentation is unclear on what other steps need to be taken to delete a record from a grid control other than using the "RECORD-TO-DELETE" clause.

Specifying this always deletes the first record, starting with the header row.


The secret is using the cursor-x and cursor-y properties of the grid control.  Below is an example of the code necessary for deleting a specific record in a grid:


     inquire grid-1, cursor-x in grid-x, cursor-y in grid-y.

     modify Grid-1, RECORD-TO-DELETE grid-y.

This example assumes the record where the cursor resides in the grid is the one that is to be removed from the grid:

Attached is a zip archive containing a sample program, and its accompanying copybooks, that demonstrates this code usage.

When running the program, after clicking on a cell, press the [Delete] push-button.

Regardless of the column (cursor-x) that the cursor is in, the row, specified by cursor-y will be deleted.


Old KB# 2684
Comment List