In a singular DISPLAY ARRAY instruction, or when used as parallel dialog, the AFTER DISPLAY is only executed once when dialog is ended.
You typically implement dialog finalization in this block.
DISPLAY ARRAY p_items TO s_items.* AFTER DISPLAY DISPLAY "Current row is: ", arr_curr()
In a DISPLAY ARRAY sub-dialog of a procedural DIALOG instruction, the AFTER DISPLAY block is executed when a DISPLAY ARRAY list loses the focus and goes to another sub-dialog.
If the focus leaves the current group and goes to an action view, this trigger is not executed, because the focus did not go to another sub-dialog yet.
AFTER DISPLAY is executed after the AFTER ROW block.
In this example, the AFTER DISPLAY block disables an action that is specific to the current list:
DISPLAY ARRAY p_items TO s_items.* AFTER DISPLAY CALL DIALOG.setActionActive("clear_item_list", FALSE)