I have a data entry form with about 200 fields and 5 tabless panels (for list forms) spread across 17 tabs. On each of the 17+ forms I’ve set a onElementFocusLost event. This includes the forms in the tabless panels, which are enterable.
The base form contains the validation routine, which builds a dataset containing the various validation problems.
The validation routine calls a special, error list form which appears at the bottom of the base form, for listing the individual validation problems. The user can click on individual line items to go to the appropriate tab and set the focus on the problem field (or table row, for the tabless panels).
I’ve gotten help from various people here in using the solution model to display the dataset in the error list form (thank you all very much ). Now I’m running into some snags…
-
Every time the user clicks into another field during data entry, the whole web page refreshes, causing any drop-down contents or placeholder formats in the next entry field to disappear. I can stop the refresh by removing either “controller.recreateUI()” or “application.updateUI()”, but in these cases either the console won’t refresh as the user fixes things; or it will refresh but Servoy generates “stale form(s)” warnings.
-
Some changes made to the related records (in the tabless panels) don’t seem to be reflected in the error list.
I know this is a complicated topic, perhaps too complicated for a single message on this forum(?) Does anyone have some insights on what might be wrong?
Thanks so much,
Don
Here’s part of the code for listing the validation problems,
var vldtn_dataSource = vldtn_ds.createDataSource('field_name_source', [JSColumn.TEXT, JSColumn.TEXT, JSColumn.TEXT]);
var vldtn_form = solutionModel.getForm('student_i_diagnostics');
vldtn_form.dataSource = vldtn_dataSource;
var fs = databaseManager.getFoundSet(vldtn_dataSource);
var vldtn_field_1 = vldtn_form.getField('field1');
vldtn_field_1.dataProviderID = "vDesc";
controller.recreateUI();
application.updateUI();
