Interface CriteriaEditing
Criteria Editing
DynamicForms may be used to editCriteria 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:
- The form was previously passed AdvancedCriteria via
setValuesAsCriteria() - The form has a specified
DynamicForm.operatorof"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.
- See Also:
-
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()