To meet your needs, we constantly work to improve Querix products.
This means that Lycia documentation is developing as well.
In case you have found a certain dissonance between the provided information and the actual behavior of Lycia 3 and/or your applications, please, let us know about this via documentation@querix.com so that we can introduce the necessary changes to our documentation.
Thank you for your attention and cooperation.
The DeleteRow() method is used to delete a row from the specified screen array list. The row selection is not influenced by the method. The method performance is similar to deleting rows from the program array. The difference is that the internal registers are updated automatically.
The method execution does not initialize the actions specified in BEFORE ROW/AFTER ROW or BEFORE DELETE/AFTER DELETE control blocks, except for some cases. The BEFORE ROW/BEFORE FIELD control blocks are executed if the DeleteRow() method deletes the currently selected row during execution of an INPUT ARRAY or DISPLAY ARRAY statements which have the focus.
One shouldn’t include the DeleteRow() method to BEFORE ROW, AFTER ROW, BEFORE DELETE, AFTER DELETE, BEFORE INSERT, AFTER INSEET control blocks. However, the method is allowed in an ON ACTION block.
The method reference syntax is:
CALL DIALOG.DeleteRow("screen_array", index)
The screen_array argument passes the name of the screen array which identifies the list.
The index attribute is used to specify the index of the row to be deleted. The method performs no actions if the index attribute is specified as zero.
If the DeleteRow() method deletes the last row in an INPUT ARRAY list, a temporary row is automatically appended so that the user can enter new data. No temporary row is added if there is AUTO APPEND = FALSE attribute. In this case, the current row register will be changed in order to prevent it from being greater than the total number of rows.