ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Developing an application or website / Controls, windows and pages / Controls: Available types / Looper control
  • Default events
  • Events supported by WINDEV and WINDEV Mobile
  • Filter records (Looper based on a data file only)
  • Click on a Looper control (browser code only)
  • Optional events
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Events associated with Looper controls
Default events
WINDEVUniversal Windows 10 AppJava

Events supported by WINDEV and WINDEV Mobile

WINDEV and WINDEV Mobile manage the following events by default (order of appearance in the code editor):
EventRuntime condition
InitializationExecuted when opening the window.*

Special case: Looper control populated automatically based on a data file:
When this code is run, the Looper control is not filled yet. To force the Looper control to be filled in this code, use:
You can also filter records with HFilter.
End of initializationEvent only for Looper controls populated automatically based on a data file:
Run once the Looper control has been filled. This code can be used to add or modify an element of the Looper control.
Entry in the Looper controlExecuted when one of the Looper controls gains focus.
Exit from the Looper controlExecuted when moving from one control to another (TAB key, selecting another control with the mouse, etc.).
Whenever a Looper control is modifiedExecuted when the user modifies the content of the Looper control.
Universal Windows 10 App This event is not executed.
Entry in edit in a row of the Looper controlExecuted when the user selects a row to enter data.
Universal Windows 10 App This event is not executed.
Exit a row of the Looper controlExecuted when moving from one row or control to another (TAB key, selecting another control with the mouse, etc.).
Universal Windows 10 App This event is not executed.
Display a row of the Looper controlExecuted when a new row must be displayed in the Looper control: refresh Looper control, etc.
Universal Windows 10 App This event is not executed.
Select a row of the Looper controlExecuted when the user selects a row (without input).
This event is automatically added when the "Pull to refresh" option is enabled ("Details" tab in the Looper control description window).
This event is executed when a refresh gesture is detected on the Looper control.
Once this event has been run, the refresh bar will be automatically hidden except if LooperRefreshVisible is called.
Event only available if an automatic deletion on row swipe has been defined ("Details" tab of the control description)
Run before the automatic deletion of record displayed in the row. This event is used to run different tests for example. If this event returns False the deletion is not performed.
Event only available if an automatic deletion on row swipe has been defined ("Details" tab of the control description)
Run after the effective deletion of the record. This event is used, for example, to re-display the data.
Event only available if an action on row swipe has been defined ("Details" tab of the control description)
  • Case of automatic deletion: This event is executed BEFORE the "Before deleting a row" event. If this event returns False, the "Before automatically deleting a row" event is not run and the record is not deleted.
  • Case of action through programming: This event is executed when the user swipes the row. This event allows you to program the desired action.
Run at the beginning of Drag/Drop for the element. This event is used to run different tests for example. If this event returns False the movement is not performed.
Executed when the user finishes the element Drag/Drop. If this event returns False the movement is not performed.
Filtering recordsOptional code for Looper controls populated automatically based on a data file:
Run just before displaying a row. This event filters the records displayed in the Looper control. This event is detailed at the end of this page.
Scrolling events (optional events)These events make it easy to manage the vertical scrollbar in the control. The available events are:
  • Start scrolling: Executed when the vertical scrollbar of the control starts moving.
  • While scrolling: Executed while the vertical scrollbar of the control moves.
  • Stop scrolling: Executed when the vertical scrollbar of the control stops moving.
Remark: ScrollbarPosition gets the position of the scrollbar.

(*) By default, the "Initialization" event of each control is executed according to the order in which the controls were created in the window. To change this order of execution:
  1. On the "Window" tab, in the "Order" group, click "Initialization".
  2. In the window that appears, use the arrows on the right to change the order in which the controls are initialized.
Filter records (Looper based on a data file only)
WINDEVUniversal Windows 10 App The event "Filtering the records" is run right after a row of the Looper control is displayed. Therefore, it is run:
  • when initializing the Looper control.
  • whenever a row is displayed in the Looper control.
This event filters the records displayed in the Looper control.
To implement a filter, the "Filter records" event must return a value:
  • True to specify that the record matches to the filter and that it must be displayed.
  • False to specify that the record does not match the filter and that it must not be displayed.
  • Cancel to stop reading the data source of the Looper control (very rare case).
Example:
// -- Filter records --
// Displays the customers who placed orders exceeding 3000 Euros
IF Order.TotalIOT >= 3000 THEN 
RETURN True
ELSE
RESULT False
END
In this code, the data handled affects the record currently read by the Looper control. This data comes from the data file or query linked to the Looper control.
Remark: In WINDEV and WINDEV Mobile, the "Filter records" event is optional. In WEBDEV, this event is proposed by default.
Click on a Looper control (browser code only)
The "Click on the Looper control" event is executed when the user clicks on a row of the Looper control. This process is used to select the row. This event returns the values of the attributes corresponding to the row. For example, the following click code is used to find out the value of the ATT_Title attribute for the row that was clicked:
Trace(ATT_Title)
Optional events
Several optional events can be added. To add an optional event:
  1. Select the desired control.
  2. Display the code window of this control (F2 key).
  3. Click the link "Add other events to xxx" at the bottom of the window code, after the last event.
  4. All the optional events available for the control are displayed.
  5. Check the optional event to add and validate.
    Remark: You can select several optional events.
  6. The selected optional event is automatically added to the events managed by the control.
To disable an optional event, simply perform the same operations to display the list of optional events. Then simply uncheck the optional events to delete.
Remark: If the disabled code contains WLanguage code, this code is automatically deleted.
For example, you can use the following events:
  • left mouse button down, up, double click,
  • right button down, up, etc.
For more details, see the Optional events.
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/01/2024

Send a report | Local help