scaProgressBar User Control allows monitoring the progress of a procedure in GeneXus.
When a heavy procedure has to be executed, it is possible to submit it in order to keep working on the web panel caller. Before having this user control, it was not possible to know the status of the executing procedure; now developers lives has changed! you can have a control panel where you can monitor several heavy submitted procedures at the same time!
Using the control
When dragging the control into the form of the webpanel, it will create a folder called "scaProgressBar" with a complete sample.
- Behavior properties
- UpdateProgressURL: (Runtime property) Procedure that returns the status of the process. See "scaGetProgress" demo procedure.
- SubmitProgressURL: (Runtime property/Optional) Procedure URL that triggers the procedure which monitors when the start method is called.
- Interval: Period of time (seconds) between the calls to the indicated procedure in the "SetUpdateProgressURL" property.
- Visual Properties
- Height: Progress bar height.
- Width: Progress bar width.
- BackgroundColor: Progress bar background color (white by default).
- FontColor: Progress bar font color (gray by default).
- Borders: Rounded or square (Square by default)
- ProgressColor: Progress bar color (green by default)
- Start: Starts the execution of the control. If the "SubmitProgressURL" property was loaded, it also triggers its execution.
- OnComplete: It is triggered when the process is over (100%).
Migrating from older versions
If you are migrating from version 1.3 or previous, please read the text below Excecution.
When migrating to version 2.0 you will find the following improvements:
The update method now is works with ajax in order to avoid refresh problems/effects.
IE9 bug fixed
Change Width/Height bug fixed
Now it allows more than one progress bar in the same webpanel.
The migration is automatic, but in order to avoid unwished "refreshes" perform the following steps:
The event "UpdateProgress" is not needed anymore (you can see it only for compatibility reasons). The best way to update The progress bar, is by making "Procedure + Main + CallProtocol:HTTP" that return via "HttpResponse" the actual percentage. See the example included (it is attached in the User control's resources folder; you can find it too in the scaProgressBar KB folder created when dragging the control into the form)."