package com.smartgwt.sample.showcase.client.dataintegration.java.serversummaries; import java.util.HashMap; import java.util.Map; import com.smartgwt.client.data.DSRequest; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.types.SummaryFunctionType; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.grid.HeaderSpan; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.google.gwt.core.client.EntryPoint; public class CustomAggregationSample implements EntryPoint { @Override public void onModuleLoad() { final ListGrid orderItemList = new ListGrid(); orderItemList.setDataSource(DataSource.get("aggregationCustom_orderItem")); orderItemList.setWidth(700); orderItemList.setHeight(300); orderItemList.setShowFilterEditor(true); orderItemList.setAutoFetchData(false); orderItemList.setCanEdit(false); orderItemList.setCanRemoveRecords(false); orderItemList.setWrapHeaderTitles(true); orderItemList.setWrapCells(true); orderItemList.setCellHeight(40); orderItemList.setHeaderHeight(65); orderItemList.setSortField(0); ListGridField orderCustomerName = new ListGridField("orderCustomerName"); orderCustomerName.setWidth(180); orderCustomerName.setTitle("Customer Name"); ListGridField pk = new ListGridField("pk"); pk.setType(ListGridFieldType.INTEGER); pk.setTitle("Count"); pk.setAlign(Alignment.CENTER); pk.setWidth(100); ListGridField itemDescription = new ListGridField("itemDescription"); itemDescription.setWidth(420); itemDescription.setTitle("Items Description"); orderItemList.setFields(orderCustomerName,pk,itemDescription); orderItemList.setHeaderSpans(new HeaderSpan[] { new HeaderSpan("Aggregated items data", new String[] {"pk", "itemDescription"}) }); DSRequest dsProperties = new DSRequest(); dsProperties.setOperationId("customAggregation"); dsProperties.setGroupBy("orderCustomerName"); Map
summaryFunctions = new HashMap
(); summaryFunctions.put("pk", "count"); summaryFunctions.put("itemDescription", "concatDistinct"); dsProperties.setRawSummaryFunctions(summaryFunctions); orderItemList.fetchData(null, null, dsProperties); orderItemList.draw(); } }