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()