package com.smartgwt.sample.showcase.client.dataintegration.java.serversummaries; import com.smartgwt.client.data.AdvancedCriteria; import com.smartgwt.client.data.Criterion; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.types.FetchMode; import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.types.OperatorId; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.FilterBuilder; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.layout.VLayout; import com.google.gwt.core.client.EntryPoint; public class FilteredAggregationSample implements EntryPoint { @Override public void onModuleLoad() { DataSource ds = DataSource.get("filteredAggregation_orderItem"); final FilterBuilder advancedFilter = new FilterBuilder(); advancedFilter.setDataSource(ds); AdvancedCriteria adCriteria = new AdvancedCriteria(OperatorId.AND, new Criterion[]{ new Criterion("unitCost", OperatorId.GREATER_THAN, 25), new Criterion("quantity", OperatorId.GREATER_THAN, 10), new Criterion("totalSales", OperatorId.GREATER_THAN, 30) }); advancedFilter.setCriteria(adCriteria); final ListGrid orderItemSummaryList = new ListGrid(); orderItemSummaryList.setDataSource(ds); orderItemSummaryList.setWidth(800); orderItemSummaryList.setHeight(320); orderItemSummaryList.setAutoFetchData(false); orderItemSummaryList.setDataFetchMode(FetchMode.BASIC); orderItemSummaryList.setShowAllRecords(true); orderItemSummaryList.setFetchOperation("summary"); ListGridField itemName = new ListGridField("itemName"); itemName.setWidth(400); ListGridField SKU = new ListGridField("SKU"); ListGridField unitCost = new ListGridField("unitCost"); unitCost.setType(ListGridFieldType.FLOAT); ListGridField quantity = new ListGridField("quantity"); quantity.setTitle("Total qty"); quantity.setType(ListGridFieldType.INTEGER); ListGridField totalSales = new ListGridField("totalSales"); totalSales.setWidth(100); totalSales.setType(ListGridFieldType.FLOAT); orderItemSummaryList.setFields(itemName,SKU,unitCost,quantity,totalSales); IButton filterButton = new IButton(); filterButton.setTitle("Filter"); filterButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { orderItemSummaryList.fetchData(advancedFilter.getCriteria()); } }); VLayout vLayout = new VLayout(); vLayout.setWidth100(); vLayout.setMembersMargin(20); vLayout.setMembers(advancedFilter, filterButton, orderItemSummaryList); orderItemSummaryList.fetchData(advancedFilter.getCriteria()); vLayout.draw(); } }