
Andreas Pfeiffer
Forum Replies Created
-
Andreas Pfeiffer
AdministratorSeptember 13, 2024 at 2:40 pm in reply to: REST API Client – POST fileHi Uwe,
I am not sure but could it be that the content-length is required in the header? You could use the Omnis len() function to find out the length.
Best,
Andreas
-
Thank you Martin!
Have a good day!
Best,
Andreas
-
Andreas Pfeiffer
AdministratorSeptember 10, 2024 at 12:00 pm in reply to: Remote form vertical scroll barHi Martin,
How about making the subform field using as much as space as possible?
You could do the following:
- Add a container and give it $edgefloat=kEFPosnTopToolbar
- Place your buttons into that controller
- Make $edgefloat of the subform kEFPosnClient
That way the subform will use the entire space but the container will give you space for your controls.
Does that help?
Best,
Andreas
-
Hi Martin,
Thanks for providing the sample library.
I changed a couple of things though:
- Added “Do inherited” in the $construct of jsSubformSetPanels to make sure that the $construct of the superclass is alway executed.
- I added a Dummy remote form “jsDummy” to allow to properly close the existing instance.
- I changed the code in $event of the back button in the superclass to use $cinst.$container:
On evClick
Do $cinst.$container().$objs.subformpanelsset.$classname.$assign(“jsDummy”)
# this will close the existing instance because the main form would assign an empty form to the subform component. I would probably make a new method in the main form that does this for better encapsulation. So for example you could have a $goback method in your main form that assigns the dummy form and then simply call this from your back button like this:
Do $cinst.$container().$goback()
4. Finally I moved the code to remove the subformset to the back button in the concrete form jsSubformSetPanels because if you do this in the $destruct it is apparently too late. So I overrode the $event method if the back button of the concrete class like this:
On evClick
Do $cinst.$clientcommand(“subformset_remove”,row(‘SubformPanelsSet’))
Do inherited
Attached please find the corrected Omnis Studio 11.1 library.
Best,
Andreas
-
and this one does not run into $destruct once you are assigning another form to the $classname of the subform field?
-
Martin,
I think we are confusing ourselves right now. Let me point out. The subformset does not have to do anything with using a subform control.
I am assuming that one of your subforms that you are using within the subform field is then itself using a subformset panel. Is this correct?
Best,
Andreas
-
This reply was modified 1 year ago by
Andreas Pfeiffer.
-
This reply was modified 1 year ago by
-
Do you open the same or another form?
-
$multipleclasses is set to kFalse and the $destruct is not executed of the formerly used subform when you assign another $classname?
-
So if I understand you right you are using a subform component to display different subforms there. And within that form you are using a subformset. But for some reason it does not run into the $destruct method of the subform?
Please check if $multipleclasses of the subform field is set to kTrue. Make it kFalse and you should then then see the $desctruct of the subform to be executed when you assign a new $classname.
If $multipleclasses is kTrue that would mean that you can maintain several instances at the very same time. So any instance that has been constructed will stay alive until you either close it manually or close the main form that contains the subform component. That means in return that when re-assigning a classname that has been used before will also not execute the $construct of that subform either.
I figured it is easier in most cases to leave this property to kFalse.
Best,
Andreas
-
This reply was modified 1 year ago by
Andreas Pfeiffer.
-
This reply was modified 1 year ago by
-
Andreas Pfeiffer
AdministratorSeptember 11, 2024 at 4:48 pm in reply to: Remote form vertical scroll barMartin,
obviously you would need to adapt the components inside your subform as well. Attached please find a 10.22 library. I changed the following:
- added a container field (page pane) in the superclass that will hold the back button and assigned $edgefloat=kEFTopToolbar
- made the $edgefloat for the page pane that will hold the subformset panel to kEFPosnClient
- switched on $autoscroll of the page pane that holds the subformset panel
- Overrode the $init method of the first subform to set the cursor in the first field
The latter is necessary as otherwise the last subform (number 4) will receive the cursor and thus it scrolls so that the first few panels cannot be seen.
Best,
Andreas
-
Andreas Pfeiffer
AdministratorSeptember 11, 2024 at 2:35 pm in reply to: Remote form vertical scroll barMartin,
So what is the question?
Best,
Andreas
-
Martin,
Ok – I made the changes in the 10.22 for you. Please see attached.
Best,
Andreas
-
Sorry – without having more information it is quite impossible to say what you are trying to achieve. Could you upload a sample library for testing?
-
However you could use a dummy form when the user clicks the back button.
-
Martin,
You cannot assign the same form into $classname as before. It must be a different in order to change the form. Therefore it will not destruct and not construct.