package com.smartgwt.sample.showcase.client.cube; import com.google.gwt.i18n.client.NumberFormat; import com.smartgwt.client.util.SC; import com.smartgwt.client.data.DSRequest; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Button; import com.smartgwt.client.types.ExportFormat; import com.smartgwt.client.types.ExportDisplay; import com.smartgwt.client.widgets.cube.CubeGrid; import com.smartgwt.client.widgets.grid.CellFormatter; import com.smartgwt.client.widgets.grid.ListGridRecord; import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.google.gwt.core.client.EntryPoint; public class BasicCubeSample implements EntryPoint { @Override public void onModuleLoad() { final CubeGrid cubeGrid = new CubeGrid(); //in order to enable charting, the Drawing module must be present if(SC.hasDrawing()) { cubeGrid.setEnableCharting(true); } cubeGrid.setData(ProductRevenueData.getData()); cubeGrid.setWidth100(); cubeGrid.setHeight100(); cubeGrid.setHideEmptyFacetValues(true); cubeGrid.setShowCellContextMenus(true); cubeGrid.setValueFormat("\u00A4,0.00"); // begin configure export colors cubeGrid.setExportFacetTextColor("blue"); cubeGrid.setExportFacetBGColor("yellow"); cubeGrid.setExportColumnFacetTextColor("red"); cubeGrid.setExportColumnFacetBGColor("#44FF44"); cubeGrid.setExportDefaultBGColor("#FFDDAA"); // end configure export colors cubeGrid.setColumnFacets("quarter", "month", "metric"); cubeGrid.setRowFacets("region", "product"); Button exportButton = new Button("Export"); exportButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { DSRequest dsRequestProperties = new DSRequest(); dsRequestProperties.setExportAs(ExportFormat.XLS); dsRequestProperties.setExportDisplay(ExportDisplay.DOWNLOAD); cubeGrid.exportClientData(dsRequestProperties); } }); VLayout layout = new VLayout(15); layout.addMember(cubeGrid); layout.addMember(exportButton); layout.draw(); } protected boolean shouldWrapViewPanel() { return true; } }