An offline query criterion is essentially a property on the query object. When evaluating a query, every criterion/property is checked against all result candidates (See [[#Technical_background|technical background]]). A candidate is a match if
* it has all the same properties as the offline query;
{{Attention|This is changed in newer versions {{Version/WinXSince|3.6}}. A not found property is just ignored.}}
* and the values of these properties indicate they are relevant according to the query criteria. (Some types have different ways to interpret what makes a value relevant. See below.)
{{Hint|The value checking of a criterion is ignored during query evaluations under any of the following circumstances.
| Value Range || || || ✓ || ✓ || ✓ ||
|}
{{Attention|Only those criteria/properties for which the MetaProperty.IndexCount is greater than 0 support value ranges.}}
=== Single value criterion ===
For most single value criteria, {{UBIK}} considers a candidate as a match if the value of the target property equals the value specified in the criterion.
* inclusive between (... ⩽ value ⩽ ...);
* inclusive greater than (value ⩾ ...);
* inclusive less than (value ⩽ ...);* in a collection (value is A, B, ... or X, the UI support for this range definition is limited that you can't yet add or remove values in the collection).
== Technical background ==
As mentioned earlier, all offline query criteria are checked against the result candidates. The [[SYSCLS_OFFLINE_QUERY|"METACLASS_IDS"]] property of the query object determines which objects are the candidates.
{{Clear}} == Demo videos Query with context filter values {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}} ==In some use cases, {{UBIK}} might automatically extract certain values from the so-called context and use them during offline query filtering. The following cases are two typical examples.* [[media:UBIK_WinX_UI_Offline_QueryDynamic_Selective_List_(Client)|Dynamic selective list]].mp4* [[Data_Replication_(UBIK_Client)#Data_templates|Offline queryingData template replication]].{{Hint|These features worked in earlier versions already. However, the technical design differed and it had certain limitations that made it problematic when you try to evaluate the same query with different filter values at the same time. So the basement, namely offline query with context filter values, is redesigned in the new version.}} The newly designed version has the following characteristics.* You can now easily distinguish such automatically extracted context filter values from the user entered filter values in the UI.* Once there is user entered values, the UI makes it obvious that the user values overrule the context values.* It's also possible to clear/delete/reset all filter values, whether they are from the context or users. {{Hint|While it's possible to clear the context filter values, they will be automatically applied again if you start the corresponding filtering process from scratch.}} {{Attention|By design, the context filter values in the [[Dynamic_Selective_List_(Client)|dynamic selective list]] feature are applied as restrictions. So it is not allowed to overrule those values with user inputs.}}
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]
[[Category:Version 3.1|Offline Query (UBIK WinX)]]
[[Category:WinX|Offline Query (UBIK WinX)]]
[[Category:Client|Offline Query (UBIK WinX)]]
[[Category:Xamarin|Offline Query (UBIK WinX)]]