Changes

Dynamic Selective List (Client)

172 bytes removed, 13:57, 30 November 2021
== Technical concept ==
The items of a dynamic selective list are instances of [[ContentClass]], also known as {{UBIK}} objects. So picking a dynamic selective list item is just like picking a query result item during editing a Guid/link property. In fact, properties having dynamic selective lists are Guid properties and the feature is based on the same technology as the general [[UBIK_WinX_Client_Basics#Guid_editor|Guid property editing]]. In other words:
* The items are found through a filter query (specifically a DSL_QUERY[[SYSCLS_DYNAMIC_SELECTIVE_LIST]]);
* The display strings of the selected item are presented as the display value of the property;
* The UID of the object/item is the actual value of the property;
=== Dynamic selective list criteria ===
{{UBIK}} relies on special objects with the DSL_Criterion_CLS [[SYSCLS_DYNAMIC_SELECTIVE_LIST_CRITERION]] to resolve items dynamically. These objects carry the following properties and each of them serves a different purpose of configurability.
* DYNAMIC_SELECTIVE_LIST: The Guid of the DSL_QUERY instance that should be used in resolving dynamic selective list items.
* DEPENDENCY_CLASS: (Optional) The Guid of the [[MetaClass]] which instructs {{UBIK}} the type of objects to exclusively look for when searching for dependency objects in the data hierarchy. If unspecified, any object having the specified dependency property can be a dependency object.
{{Hint|The data type of the DEPENDENCY_PROPERTY_NAME'd property should match that of the QUERY_CRITERION_NAME'd criterion so that the values can be used. Otherwise, that dependency property is ignored and the [[#Data_hierarchy|item resolving algorithm]] will continue looking up the data hierarchy.}}
[[Category:Client|Dynamic Selective List (Client)]][[Category:WinX|Dynamic Selective List (Client)]][[Category:Xamarin|Dynamic Selective List (Client)]]
== Example use case ==
** If for example, the final "Part Guid" value is the Guid of item "Screw", the query will return all those "DSL Item Instances" that are "Screw", e.g. "M1.6". The user can then select from those just like with the other property mentioned above.
[[Category:Client|Dynamic Selective List (Client)]][[Category:WinX|Dynamic Selective List (Client)]][[Category:Xamarin|Dynamic Selective List (Client)]]
==See also==
* [[Offline_Query_(UBIK_WinX)#Offline_query_criteria|Offline query]]
* [[SYSCLS_DYNAMIC_SELECTIVE_LIST_CRITERION]]
* [[SYSCLS_DYNAMIC_SELECTIVE_LIST]]
[[Category:Client|Dynamic Selective List (Client)]]
[[Category:WinX|Dynamic Selective List (Client)]]
[[Category:Xamarin|Dynamic Selective List (Client)]]
1,606
edits