How to use the ExecutePS function in selfVM
No edit summary
No edit summary
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This is a practical reference example on how to use the ExceutePS function from a viewmodel. There are many possible uses but this is one that is fairly descriptive I think.
<message>Write the content here to display this box</message>
==== NOTE: ExecutePS is replaced with [[Documentation:OCLOperators PSEval|<Class>.PSEval]] - available in the context of every Class ====
This is a practical reference example of how to use the ExecutePS function from a ViewModel. There are many possible uses, but this one is fairly descriptive.  


Need: Look up all the objects that has the same value as one particular object. Maybe the user wants to know if something is unique or not…
'''Need:''' Look up all the objects with the same value as one particular object. Maybe the user wants to know if something is unique or not…  


Model:
===== The Model: =====
[[File:Execute -1.png|none|frame|283x283px]]
[[File:Execute -1.png|none|frame|283x283px]]


ViewModel:
===== The ViewModel: =====
[[File:Execute -2.png|none|frame|419x419px]]
[[File:Execute -2.png|none|frame|419x419px]]


So what happens is that we set the vValueToMatch to the Attribute1 of the viewmodel root Thing. Then we call the ExecutePS, stating that it will get a result collection with objects of type Thing if it runs the expression found in OutOfLoopToAvoidStdFetch.col1. We collect over this result and add the objects to a list we added as a variable – vMyList.
Set the vValueToMatch to the Attribute1 of the ViewModel root Thing. Then, call the ExecutePS, stating that it will get a result collection with the objects of type Thing if it runs the expression found in OutOfLoopToAvoidStdFetch.col1. Collect this result and add the objects to a list you added as a variable – vMyList.  


That list can act as root for Grid in the UI.
The list can act as a root for Grid in the UI.  


If we have a million Thing-objects in the database this viewmodel will only load the ones with the same attribute1 as the the Thing object we started with.
If you have a million Thing objects in the database, this ViewModel will only load the ones with the same attribute1 as the Thing object you started with.  


See [[OCLOperators_ExecutePS]]
'''See:''' [[Documentation:OCLOperators ExecutePS|OCLOperators_ExecutePS]]
[[Category:OCLPS]]
[[Category:View Model]]
[[Category:OCL ViewModel Operators]]
{{Edited|July|12|2025}}

Latest revision as of 22:42, 12 March 2025

This page was created by Wikiadmin on 2018-10-30. Last edited by Charles@mdriven.net on 2025-03-12.

NOTE: ExecutePS is replaced with <Class>.PSEval - available in the context of every Class

This is a practical reference example of how to use the ExecutePS function from a ViewModel. There are many possible uses, but this one is fairly descriptive.

Need: Look up all the objects with the same value as one particular object. Maybe the user wants to know if something is unique or not…

The Model:
Execute -1.png
The ViewModel:
Execute -2.png

Set the vValueToMatch to the Attribute1 of the ViewModel root Thing. Then, call the ExecutePS, stating that it will get a result collection with the objects of type Thing if it runs the expression found in OutOfLoopToAvoidStdFetch.col1. Collect this result and add the objects to a list you added as a variable – vMyList.

The list can act as a root for Grid in the UI.

If you have a million Thing objects in the database, this ViewModel will only load the ones with the same attribute1 as the Thing object you started with.

See: OCLOperators_ExecutePS