06-22-2020, 03:42 PM
Hi!!
First, let me said that the new property RenderAsync and the method RefreshAsyncRender are fabulous.
A lot method in the application pass from Sync to Async style.
Now, let me explain my problem. Is normal that the application has the Master/Detail relationship within.
Based on that, my form has the following:
- A TFrame serving as a header to indicate where the user is logged in and other information (align to Top).
- A TFrame with multiple buttons, to carry out the different operations of the CRUD and a TDataSource that serves to enable / disable depending on the state of the TDataSet associated with the TDatSource. All CRUD operations are done in the OnClick (submit) event (align to Top under the other frame).
- Several DB-controls in the form (TIWDBLookupComboBox, TTIWDBAdvEdit, TIWDBCheckBox, TTIWDBAdvDateEdit), those control are connected to the TQuery master.
- TTIWDBAdvWebGrid connected to the TQuery detail.
- TIWModalWindow
- IWregion with several controls Non-Db and an IWButton (for adding the record to the TQuery detail); which is call by the TIWModalWindow.
I think this is an standard way of a common Form with a Master/Detail relationship.
Now the process is as follows:
- The user clicks on the add button of the TFrame.
- The user fill all of the DB-Controls place on the TForm.
- The user clicks on the button that show the TIWModalWindow
- The user fill all of the non DB-Controls of the TIWModalWindow
- The user clicks on the save button of the TIWModalWindow, in that moment the TQuery master calls the Post method (saving the data directly in the database) and putting in Edit mode the TQuery master then the TQuery detail calls the Post method (getting the value of the primary key field of the TQuery master, saving the data directly in the database too).
After that, the user clicks on the Save button of the TFrame, this button have some validation of the data and generate other data then calls the Post method of the TQuery master. All this process of this button in on the OnClick event (submit); the previously stored data from the TQuery Master "disappears" from the DB-controls and the validations say that information is missing and therefore the call to the Post method fails.
All of this works perfectly on Intraweb 15.1.22 and fails on 15.2.3.
I don't have an example on hand where I can show this behavior but I do see this in the actual application in both my development and production environment.
Do you understand what I just said?
Many thanks!
First, let me said that the new property RenderAsync and the method RefreshAsyncRender are fabulous.
A lot method in the application pass from Sync to Async style.
Now, let me explain my problem. Is normal that the application has the Master/Detail relationship within.
Based on that, my form has the following:
- A TFrame serving as a header to indicate where the user is logged in and other information (align to Top).
- A TFrame with multiple buttons, to carry out the different operations of the CRUD and a TDataSource that serves to enable / disable depending on the state of the TDataSet associated with the TDatSource. All CRUD operations are done in the OnClick (submit) event (align to Top under the other frame).
- Several DB-controls in the form (TIWDBLookupComboBox, TTIWDBAdvEdit, TIWDBCheckBox, TTIWDBAdvDateEdit), those control are connected to the TQuery master.
- TTIWDBAdvWebGrid connected to the TQuery detail.
- TIWModalWindow
- IWregion with several controls Non-Db and an IWButton (for adding the record to the TQuery detail); which is call by the TIWModalWindow.
I think this is an standard way of a common Form with a Master/Detail relationship.
Now the process is as follows:
- The user clicks on the add button of the TFrame.
- The user fill all of the DB-Controls place on the TForm.
- The user clicks on the button that show the TIWModalWindow
- The user fill all of the non DB-Controls of the TIWModalWindow
- The user clicks on the save button of the TIWModalWindow, in that moment the TQuery master calls the Post method (saving the data directly in the database) and putting in Edit mode the TQuery master then the TQuery detail calls the Post method (getting the value of the primary key field of the TQuery master, saving the data directly in the database too).
After that, the user clicks on the Save button of the TFrame, this button have some validation of the data and generate other data then calls the Post method of the TQuery master. All this process of this button in on the OnClick event (submit); the previously stored data from the TQuery Master "disappears" from the DB-controls and the validations say that information is missing and therefore the call to the Post method fails.
All of this works perfectly on Intraweb 15.1.22 and fails on 15.2.3.
I don't have an example on hand where I can show this behavior but I do see this in the actual application in both my development and production environment.
Do you understand what I just said?
Many thanks!