/* * Smart GWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * Smart GWT is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License version 3 * as published by the Free Software Foundation. Smart GWT is also * available under typical commercial license terms - see * http://smartclient.com/license * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ /* * Smart GWT (GWT for SmartClient) * Copyright 2008 and beyond, Isomorphic Software, Inc. * * Smart GWT is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License version 3 * is published by the Free Software Foundation. Smart GWT is also * available under typical commercial license terms - see * http://smartclient.com/license * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ import com.smartgwt.client.data.AdvancedCriteria; import com.smartgwt.client.data.Criterion; import com.smartgwt.client.types.OperatorId; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.sample.showcase.client.data.WorldXmlDS; import com.google.gwt.core.client.EntryPoint; public class GridExpressionFilter implements EntryPoint { public void onModuleLoad() { final ListGrid countryGrid = new ListGrid(); countryGrid.setWidth(500); countryGrid.setHeight(300); countryGrid.setDataSource(WorldXmlDS.getInstance()); ListGridField countryCodeField = new ListGridField("countryCode", "Code", 50); ListGridField nameField = new ListGridField("countryName", "Country"); ListGridField capitalField = new ListGridField("capital", "Capital"); ListGridField continentField = new ListGridField("continent", "Continent"); ListGridField areaField = new ListGridField("area", "Area (km²)"); ListGridField populationField = new ListGridField("population", "Population"); countryGrid.setFields(countryCodeField, nameField, capitalField, continentField, areaField, populationField); countryGrid.setAutoFetchData(true); countryGrid.setShowFilterEditor(true); countryGrid.setAllowFilterExpressions(true); AdvancedCriteria initialCriteria = new AdvancedCriteria(OperatorId.AND, new Criterion[]{ new Criterion("countryName", OperatorId.INOT_CONTAINS, "i"), new Criterion("capital", OperatorId.BETWEEN_INCLUSIVE, "A", "F"), new AdvancedCriteria(OperatorId.OR, new Criterion[]{ new Criterion("population", OperatorId.LESS_THAN, 1000000), new Criterion("population", OperatorId.GREATER_THAN, 100000000) }) }); countryGrid.setInitialCriteria(initialCriteria); Label label = new Label(); label.setAutoHeight(); label.setContents("
" + "
Prefix
Operator
" + "
<
lessThan
" + "
>
greaterThan
" + "
<=
lessThanOrEqual
" + "
>=
greaterThanOrEqual
" + "
someValue...someValue
betweenInclusive
" + "
!
notEqual
" + "
^
startsWith
" + "
|
endsWith
" + "
!^
notStartsWith
" + "
!@
notEndsWith
" + "
~
contains
" + "
!~
notContains
" + "
=(value1|value2)
inSet
" + "
!=(value1|value2)
notInSet
" + "
#
isNull
" + "
!#
isNotNull
" + "
==
exact match (for fields where 'contains' is the default)
" + "
=.
matches other field-name or title
" + "
"); HLayout layout = new HLayout(20); layout.setMembers(countryGrid, label); layout.draw(); } protected boolean isTopIntro() { return true; } }