public interface CriteriaEditing Criteria or AdvancedCriteria for filtering data from a DataSource. The main APIs for this are DynamicForm.getValuesAsCriteria() and DynamicForm.setValuesAsCriteria().
getValuesAsCriteria() will return an AdvancedCriteria object in the following cases:
setValuesAsCriteria()DynamicForm.operator of "or"FormItem.hasAdvancedCriteria() returns true for some item(s) within the form Note that at the form item level, individual items can support editing of advanced criteria by registering FormItemCanEditCriterionPredicate, FormItemCriterionSetter, and FormItemCriterionGetter objects to implement the methods canEditCriterion(), setCriterion(), and getCriterion(), respectively.
There is also built-in support for expression-parsing in DynamicForms. This allows expressions, like '>5' (greater than 5) or 'a...c' (between a and c) to be edited and generated automatically by appropriate formItems.
Some FormItems have special behavior - for instance, a SelectItem with multiple:true will successfully edit and return criteria with an inSet operator.
The common pattern of using nested dynamicForms to edit arbitrary advanced criteria has been implemented via overrides to these methods in the CanvasItem class. See CanvasItem.setCriterionGetter() for details.
For completely user-driven advanced criteria editing see also the FilterBuilder class.
DynamicForm.getValuesAsCriteria(), DynamicForm.setValuesAsCriteria(com.smartgwt.client.data.Criterion), DynamicForm.getValuesAsAdvancedCriteria(), FormItem.hasAdvancedCriteria(), FormItem.canEditCriterion(com.smartgwt.client.data.Criterion), FormItem.getCriterion(), FormItem.setCriterion(com.smartgwt.client.data.Criterion), CanvasItem.hasAdvancedCriteria(), FormItem.canEditCriterion(com.smartgwt.client.data.Criterion), FormItem.getCriterion(), FormItem.setCriterion(com.smartgwt.client.data.Criterion), ComboBoxItem.hasAdvancedCriteria(), FormItem.getCriterion(), FormItem.canEditCriterion(com.smartgwt.client.data.Criterion), FormItem.setCriterion(com.smartgwt.client.data.Criterion), ValuesManager.getValuesAsCriteria(), ValuesManager.getValuesAsAdvancedCriteria(), DateRangeItem.hasAdvancedCriteria(), FormItem.getCriterion(), FormItem.canEditCriterion(com.smartgwt.client.data.Criterion), FormItem.setCriterion(com.smartgwt.client.data.Criterion), MiniDateRangeItem.hasAdvancedCriteria(), FormItem.getCriterion(), FormItem.setCriterion(com.smartgwt.client.data.Criterion), FormItem.canEditCriterion(com.smartgwt.client.data.Criterion), FormItem.getOperator(), FormItem.getUseAdvancedCriteria(), ListGrid.getUseAdvancedCriteria()