List of usage examples for com.google.gwt.i18n.client NumberFormat getCurrencyFormat
public static NumberFormat getCurrencyFormat()
From source file:com.google.gwt.examples.NumberFormatExample.java
public void onModuleLoad() { NumberFormat fmt = NumberFormat.getDecimalFormat(); double value = 12345.6789; String formatted = fmt.format(value); // Prints 1,2345.6789 in the default locale GWT.log("Formatted string is" + formatted); // Turn a string back into a double value = NumberFormat.getDecimalFormat().parse("12345.6789"); GWT.log("Parsed value is" + value); // Scientific notation value = 12345.6789;//from w ww . j a v a 2 s .c o m formatted = NumberFormat.getScientificFormat().format(value); // prints 1.2345E4 in the default locale GWT.log("Formatted string is" + formatted); // Currency fmt = NumberFormat.getCurrencyFormat(); formatted = fmt.format(123456.7899); // prints US$123,456.79 in the default locale or $123,456.79 in the en_US // locale GWT.log("Formatted currency is" + formatted); // Custom format value = 12345.6789; formatted = NumberFormat.getFormat("000000.000000").format(value); // prints 012345.678900 in the default locale GWT.log("Formatted string is" + formatted); }
From source file:com.google.gwt.sample.expenses.client.ExpenseDetails.java
License:Apache License
private CellTable<ExpenseProxy> initTable() { CellTable.Resources resources = GWT.create(TableResources.class); table = new CellTable<ExpenseProxy>(100, resources, Expenses.EXPENSE_RECORD_KEY_PROVIDER); Styles.Common common = Styles.common(); table.addColumnStyleName(0, common.spacerColumn()); table.addColumnStyleName(1, common.expenseDetailsDateColumn()); table.addColumnStyleName(3, common.expenseDetailsCategoryColumn()); table.addColumnStyleName(4, common.expenseDetailsAmountColumn()); table.addColumnStyleName(5, common.expenseDetailsApprovalColumn()); table.addColumnStyleName(6, common.spacerColumn()); // Spacer column. table.addColumn(new SpacerColumn<ExpenseProxy>()); // Created column. GetValue<ExpenseProxy, Date> createdGetter = new GetValue<ExpenseProxy, Date>() { public Date getValue(ExpenseProxy object) { return object.getCreated(); }//ww w . j a v a 2s . c o m }; defaultComparator = createColumnComparator(createdGetter, false); Comparator<ExpenseProxy> createdDesc = createColumnComparator(createdGetter, true); addColumn(table, "Created", new DateCell(DateTimeFormat.getFormat("MMM dd yyyy")), createdGetter, defaultComparator, createdDesc); lastComparator = defaultComparator; // Description column. addColumn(table, "Description", new TextCell(), new GetValue<ExpenseProxy, String>() { public String getValue(ExpenseProxy object) { return object.getDescription(); } }); // Category column. addColumn(table, "Category", new TextCell(), new GetValue<ExpenseProxy, String>() { public String getValue(ExpenseProxy object) { return object.getCategory(); } }); // Amount column. final GetValue<ExpenseProxy, Double> amountGetter = new GetValue<ExpenseProxy, Double>() { public Double getValue(ExpenseProxy object) { return object.getAmount(); } }; Comparator<ExpenseProxy> amountAsc = createColumnComparator(amountGetter, false); Comparator<ExpenseProxy> amountDesc = createColumnComparator(amountGetter, true); addColumn(table, "Amount", new NumberCell(NumberFormat.getCurrencyFormat()), new GetValue<ExpenseProxy, Number>() { public Number getValue(ExpenseProxy object) { return amountGetter.getValue(object); } }, amountAsc, amountDesc); // Dialog box to obtain a reason for a denial denialPopup.addCloseHandler(new CloseHandler<PopupPanel>() { public void onClose(CloseEvent<PopupPanel> event) { String reasonDenied = denialPopup.getReasonDenied(); ExpenseProxy record = denialPopup.getExpenseRecord(); if (reasonDenied == null || reasonDenied.length() == 0) { // Clear the view data. final Object key = items.getKey(record); approvalCell.clearViewData(key); // We need to redraw the table to reset the select box. syncCommit(record, null); } else { updateExpenseRecord(record, "Denied", reasonDenied); } // Return focus to the table. table.setFocus(true); } }); // Approval column. approvalCell = new ApprovalCell(); Column<ExpenseProxy, String> approvalColumn = addColumn(table, "Approval Status", approvalCell, new GetValue<ExpenseProxy, String>() { public String getValue(ExpenseProxy object) { return object.getApproval(); } }); approvalColumn.setFieldUpdater(new FieldUpdater<ExpenseProxy, String>() { public void update(int index, final ExpenseProxy object, String value) { if ("Denied".equals(value)) { denialPopup.setExpenseRecord(object); denialPopup.setReasonDenied(object.getReasonDenied()); denialPopup.popup(); } else { updateExpenseRecord(object, value, ""); } } }); // Spacer column. table.addColumn(new SpacerColumn<ExpenseProxy>()); return table; }
From source file:com.google.gwt.sample.expenses.client.ExpenseReportDetails.java
License:Apache License
private CellTable<ExpenseProxy> initTable() { CellTable.Resources resources = GWT.create(TableResources.class); table = new CellTable<ExpenseProxy>(100, resources, new EntityProxyKeyProvider<ExpenseProxy>()); Styles.Common common = Styles.common(); table.addColumnStyleName(0, common.spacerColumn()); table.addColumnStyleName(1, common.expenseDetailsDateColumn()); table.addColumnStyleName(3, common.expenseDetailsCategoryColumn()); table.addColumnStyleName(4, common.expenseDetailsAmountColumn()); table.addColumnStyleName(5, common.expenseDetailsApprovalColumn()); table.addColumnStyleName(6, common.spacerColumn()); // Spacer column. table.addColumn(new SpacerColumn<ExpenseProxy>()); // Created column. GetValue<ExpenseProxy, Date> createdGetter = new GetValue<ExpenseProxy, Date>() { public Date getValue(ExpenseProxy object) { return object.getCreated(); }/*w w w . j a va 2 s . c om*/ }; defaultComparator = createColumnComparator(createdGetter, false); Comparator<ExpenseProxy> createdDesc = createColumnComparator(createdGetter, true); addColumn(table, "Created", new DateCell(DateTimeFormat.getFormat("MMM dd yyyy")), createdGetter, defaultComparator, createdDesc); lastComparator = defaultComparator; // Description column. addColumn(table, "Description", new TextCell(), new GetValue<ExpenseProxy, String>() { public String getValue(ExpenseProxy object) { return object.getDescription(); } }); // Category column. addColumn(table, "Category", new TextCell(), new GetValue<ExpenseProxy, String>() { public String getValue(ExpenseProxy object) { return object.getCategory(); } }); // Amount column. final GetValue<ExpenseProxy, Double> amountGetter = new GetValue<ExpenseProxy, Double>() { public Double getValue(ExpenseProxy object) { return object.getAmount(); } }; Comparator<ExpenseProxy> amountAsc = createColumnComparator(amountGetter, false); Comparator<ExpenseProxy> amountDesc = createColumnComparator(amountGetter, true); addColumn(table, "Amount", new NumberCell(NumberFormat.getCurrencyFormat()), new GetValue<ExpenseProxy, Number>() { public Number getValue(ExpenseProxy object) { return amountGetter.getValue(object); } }, amountAsc, amountDesc); // Dialog box to obtain a reason for a denial denialPopup.addCloseHandler(new CloseHandler<PopupPanel>() { public void onClose(CloseEvent<PopupPanel> event) { String reasonDenied = denialPopup.getReasonDenied(); ExpenseProxy record = denialPopup.getExpenseRecord(); if (reasonDenied == null || reasonDenied.length() == 0) { // Clear the view data. final Object key = items.getKey(record); approvalCell.clearViewData(key); // We need to redraw the table to reset the select box. syncCommit(record, null); } else { updateExpenseRecord(record, "Denied", reasonDenied); } // Return focus to the table. table.setFocus(true); } }); // Approval column. approvalCell = new ApprovalCell(); Column<ExpenseProxy, String> approvalColumn = addColumn(table, "Approval Status", approvalCell, new GetValue<ExpenseProxy, String>() { public String getValue(ExpenseProxy object) { return object.getApproval(); } }); approvalColumn.setFieldUpdater(new FieldUpdater<ExpenseProxy, String>() { public void update(int index, final ExpenseProxy object, String value) { if ("Denied".equals(value)) { denialPopup.setExpenseRecord(object); denialPopup.setReasonDenied(object.getReasonDenied()); denialPopup.popup(); } else { updateExpenseRecord(object, value, ""); } } }); // Spacer column. table.addColumn(new SpacerColumn<ExpenseProxy>()); return table; }
From source file:com.google.gwt.sample.i18n.client.NumberFormatExampleController.java
License:Apache License
@Override protected String doGetPattern(String patternKey) { if ("currency".equals(patternKey)) { return NumberFormat.getCurrencyFormat().getPattern(); }//w w w.j a va2 s . c om if ("decimal".equals(patternKey)) { return NumberFormat.getDecimalFormat().getPattern(); } if ("scientific".equals(patternKey)) { return NumberFormat.getScientificFormat().getPattern(); } if ("percent".equals(patternKey)) { return NumberFormat.getPercentFormat().getPattern(); } throw new IllegalArgumentException("Unknown pattern key '" + patternKey + "'"); }
From source file:com.google.gwt.sample.showcase.client.content.i18n.CwNumberFormat.java
License:Apache License
/** * Update the selected pattern based on the pattern in the list. *//*from w w w . ja v a 2 s . co m*/ @ShowcaseSource private void updatePattern() { switch (patternList.getSelectedIndex()) { case 0: activeFormat = NumberFormat.getDecimalFormat(); patternBox.setText(activeFormat.getPattern()); patternBox.setEnabled(false); break; case 1: activeFormat = NumberFormat.getCurrencyFormat(); patternBox.setText(activeFormat.getPattern()); patternBox.setEnabled(false); break; case 2: activeFormat = NumberFormat.getScientificFormat(); patternBox.setText(activeFormat.getPattern()); patternBox.setEnabled(false); break; case 3: activeFormat = NumberFormat.getPercentFormat(); patternBox.setText(activeFormat.getPattern()); patternBox.setEnabled(false); break; case 4: patternBox.setEnabled(true); String pattern = patternBox.getText(); try { activeFormat = NumberFormat.getFormat(pattern); } catch (IllegalArgumentException e) { showErrorMessage(constants.cwNumberFormatInvalidPattern()); return; } break; } // Update the formatted value updateFormattedValue(); }
From source file:com.gwtext.sample.charts.client.yui.IncomeChartSample.java
License:Open Source License
public Panel getViewPanel() { if (panel == null) { panel = new Panel(); panel.setLayout(new VerticalLayout(15)); MemoryProxy proxy = new MemoryProxy(getData()); RecordDef recordDef = new RecordDef( new FieldDef[] { new IntegerFieldDef("year"), new IntegerFieldDef("revenue"), new IntegerFieldDef("expense"), new IntegerFieldDef("income") }); ArrayReader reader = new ArrayReader(recordDef); final Store store = new Store(proxy, reader); store.load();/*ww w. j av a 2 s.c om*/ SeriesDefX incomeSeries = new SeriesDefX("Income", "income"); incomeSeries.setType(ChartType.LINE); SeriesDef[] seriesDef = new SeriesDef[] { new SeriesDefX("Revenue", "revenue"), new SeriesDefX("Expense", "expense"), incomeSeries }; NumericAxis currencyAxis = new NumericAxis(); //currencyAxis.setLabelFunction("formatCurrencyAxisLabel"); final BarChart chart = new BarChart(); chart.setTitle("Income Chart"); chart.setWMode("transparent"); chart.setStore(store); chart.setSeries(seriesDef); chart.setYField("year"); chart.setXAxis(currencyAxis); chart.setExpressInstall("js/yui/assets/expressinstall.swf"); chart.setWidth(500); chart.setHeight(400); panel.add(chart); Renderer renderer = new Renderer() { public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum, Store store) { NumberFormat nf = NumberFormat.getCurrencyFormat(); return nf.format(((Number) value).doubleValue()); } }; ColumnConfig yearConfig = new ColumnConfig("Year", "year", 100, true); NumberField yearField = new NumberField(); yearField.setAllowDecimals(false); yearField.setSelectOnFocus(true); yearConfig.setEditor(new GridEditor(yearField)); NumberField revenueField = new NumberField(); revenueField.setSelectOnFocus(true); ColumnConfig revenueConfig = new ColumnConfig("Revenue", "revenue", 130, true); revenueConfig.setEditor(new GridEditor(revenueField)); revenueConfig.setRenderer(renderer); NumberField expenseField = new NumberField(); expenseField.setSelectOnFocus(true); ColumnConfig expenseConfig = new ColumnConfig("Expense", "expense", 130, true); expenseConfig.setEditor(new GridEditor(expenseField)); expenseConfig.setRenderer(renderer); NumberField incomeField = new NumberField(); incomeField.setSelectOnFocus(true); ColumnConfig incomeConfig = new ColumnConfig("Income", "income", 130, true); incomeConfig.setEditor(new GridEditor(incomeField)); incomeConfig.setRenderer(renderer); ColumnModel columnModel = new ColumnModel( new ColumnConfig[] { yearConfig, revenueConfig, expenseConfig, incomeConfig }); EditorGridPanel grid = new EditorGridPanel(); grid.setStore(store); grid.setClicksToEdit(1); grid.setColumnModel(columnModel); grid.setWidth(500); grid.addEditorGridListener(new EditorGridListenerAdapter() { public void onAfterEdit(GridPanel grid, Record record, String field, Object newValue, Object oldValue, int rowIndex, int colIndex) { store.commitChanges(); chart.refresh(); } }); panel.add(grid); } return panel; }
From source file:com.gwtext.sample.charts.client.yui.LineChartSample.java
License:Open Source License
public Panel getViewPanel() { if (panel == null) { panel = new Panel(); panel.setLayout(new VerticalLayout(15)); MemoryProxy proxy = new MemoryProxy(getData()); RecordDef recordDef = new RecordDef(new FieldDef[] { new StringFieldDef("month"), new FloatFieldDef("rent"), new FloatFieldDef("utilities") }); ArrayReader reader = new ArrayReader(recordDef); final Store store = new Store(proxy, reader); store.load();/*from ww w .ja v a 2 s.co m*/ SeriesDefY[] seriesDef = new SeriesDefY[] { new SeriesDefY("Rent", "rent"), new SeriesDefY("Utilities", "utilities") }; NumericAxis currencyAxis = new NumericAxis(); currencyAxis.setMinimum(800); currencyAxis.setLabelFunction("formatCurrencyAxisLabel"); final LineChart chart = new LineChart(); chart.setTitle("Monthly Expenses"); chart.setWMode("transparent"); chart.setStore(store); chart.setSeries(seriesDef); chart.setXField("month"); chart.setYAxis(currencyAxis); chart.setDataTipFunction("getDataTipText"); chart.setExpressInstall("js/yui/assets/expressinstall.swf"); chart.setWidth(500); chart.setHeight(400); panel.add(chart); Renderer renderer = new Renderer() { public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum, Store store) { NumberFormat nf = NumberFormat.getCurrencyFormat(); return nf.format(((Number) value).doubleValue()); } }; ColumnConfig monthConfig = new ColumnConfig("Month", "month", 150, true); TextField monthField = new TextField(); monthField.setSelectOnFocus(true); monthConfig.setEditor(new GridEditor(monthField)); NumberField rentField = new NumberField(); rentField.setSelectOnFocus(true); ColumnConfig rentConfig = new ColumnConfig("Rent", "rent", 100, true); rentConfig.setEditor(new GridEditor(rentField)); rentConfig.setRenderer(renderer); NumberField utilitiesField = new NumberField(); utilitiesField.setSelectOnFocus(true); ColumnConfig utilitiesConfig = new ColumnConfig("Utilities", "utilities", 100, true); utilitiesConfig.setEditor(new GridEditor(utilitiesField)); utilitiesConfig.setRenderer(renderer); ColumnModel columnModel = new ColumnModel( new ColumnConfig[] { monthConfig, rentConfig, utilitiesConfig }); EditorGridPanel grid = new EditorGridPanel(); grid.setStore(store); grid.setClicksToEdit(1); grid.setColumnModel(columnModel); grid.setWidth(360); grid.addEditorGridListener(new EditorGridListenerAdapter() { public void onAfterEdit(GridPanel grid, Record record, String field, Object newValue, Object oldValue, int rowIndex, int colIndex) { store.commitChanges(); chart.refresh(); } }); panel.add(grid); } return panel; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.AbstractGridEditingExample.java
License:sencha.com license
@Override public Widget asWidget() { ColumnConfig<Plant, String> cc1 = new ColumnConfig<Plant, String>(properties.name(), 220, "Name"); ColumnConfig<Plant, String> cc2 = new ColumnConfig<Plant, String>(properties.light(), 130, "Light"); DateCell dateCell = new DateCell(DateTimeFormat.getFormat("yyyy MMM dd")); ColumnConfig<Plant, Date> cc3 = new ColumnConfig<Plant, Date>(properties.available(), 95, "Date"); cc3.setCell(dateCell);//from www . j a va2 s. c om ColumnConfig<Plant, Boolean> cc4 = new ColumnConfig<Plant, Boolean>(properties.indoor(), 55, "Indoor"); cc4.setCell(new SimpleSafeHtmlCell<Boolean>(new AbstractSafeHtmlRenderer<Boolean>() { @Override public SafeHtml render(Boolean object) { return SafeHtmlUtils.fromString(object ? "True" : "False"); } })); ColumnConfig<Plant, Double> cc5 = new ColumnConfig<Plant, Double>(properties.price(), 100, "Price"); cc5.setAlignment(HasHorizontalAlignment.ALIGN_RIGHT); cc5.setCell(new SimpleSafeHtmlCell<Double>(new AbstractSafeHtmlRenderer<Double>() { @Override public SafeHtml render(Double object) { return SafeHtmlUtils.fromString(NumberFormat.getCurrencyFormat().format(object)); } })); List<ColumnConfig<Plant, ?>> l = new ArrayList<ColumnConfig<Plant, ?>>(); l.add(cc1); l.add(cc2); l.add(cc5); l.add(cc3); l.add(cc4); ColumnModel<Plant> cm = new ColumnModel<Plant>(l); final ListStore<Plant> store = new ListStore<Plant>(properties.key()); store.addAll(TestData.getPlants()); grid = new Grid<Plant>(store, cm); grid.getView().setAutoExpandColumn(cc1); // EDITING// final GridEditing<Plant> editing = createGridEditing(grid); editing.addEditor(cc1, new TextField()); SimpleComboBox<Light> combo = new SimpleComboBox<Light>(new StringLabelProvider<Light>()); combo.setPropertyEditor(new PropertyEditor<Light>() { @Override public Light parse(CharSequence text) throws ParseException { return Light.parseString(text.toString()); } @Override public String render(Light object) { return object == null ? Light.SUNNY.toString() : object.toString(); } }); combo.setTriggerAction(TriggerAction.ALL); combo.add(Light.SUNNY); combo.add(Light.MOSTLYSUNNY); combo.add(Light.SUNORSHADE); combo.add(Light.MOSTLYSHADY); combo.add(Light.SHADE); combo.setForceSelection(true); editing.addEditor(cc2, new Converter<String, Light>() { @Override public String convertFieldValue(Light object) { return object == null ? Light.SUNNY.toString() : object.toString(); } @Override public Light convertModelValue(String object) { return Light.parseString(object); } }, combo); DateField dateField = new DateField( new DateTimePropertyEditor(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT))); dateField.setClearValueOnParseError(false); editing.addEditor(cc3, dateField); CheckBox checkField = new CheckBox(); editing.addEditor(cc4, checkField); // column 5 is not editable // EDITING// FramedPanel cp = new FramedPanel(); cp.setHeadingText("Editable Grid Example"); cp.setPixelSize(600, 400); cp.addStyleName("margin-10"); ToolBar toolBar = new ToolBar(); TextButton add = new TextButton("Add Plant"); add.addSelectHandler(new SelectHandler() { @Override public void onSelect(SelectEvent event) { Plant plant = new Plant(); plant.setName("New Plant 1"); plant.setLight("Mostly Shady"); plant.setPrice(0); plant.setAvailable(new DateWrapper().clearTime().asDate()); plant.setIndoor(false); editing.cancelEditing(); store.add(0, plant); editing.startEditing(new GridCell(0, 0)); } }); toolBar.add(add); VerticalLayoutContainer con = new VerticalLayoutContainer(); con.setBorders(true); con.add(toolBar, new VerticalLayoutData(1, -1)); con.add(grid, new VerticalLayoutData(1, 1)); cp.setWidget(con); cp.setButtonAlign(BoxLayoutPack.CENTER); cp.addButton(new TextButton("Reset", new SelectHandler() { @Override public void onSelect(SelectEvent event) { store.rejectChanges(); } })); cp.addButton(new TextButton("Save", new SelectHandler() { @Override public void onSelect(SelectEvent event) { store.commitChanges(); } })); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.AggregationGridExample.java
License:sencha.com license
@Override public Widget asWidget() { StockProperties props = GWT.create(StockProperties.class); final NumberFormat numberFormat = NumberFormat.getFormat("0.00"); final NumberFormat currency = NumberFormat.getCurrencyFormat(); List<ColumnConfig<Stock, ?>> configs = new ArrayList<ColumnConfig<Stock, ?>>(); ColumnConfig<Stock, String> nameColumn = new ColumnConfig<Stock, String>(props.name(), 200, "Company"); configs.add(nameColumn);// w w w . ja v a 2s . c o m ColumnConfig<Stock, String> symbolColumn = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol"); configs.add(symbolColumn); ColumnConfig<Stock, Double> lastColumn = new ColumnConfig<Stock, Double>(props.last(), 100, "Last"); lastColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(currency))); configs.add(lastColumn); ColumnConfig<Stock, Double> changeColumn = new ColumnConfig<Stock, Double>(props.change(), 100, "Change"); changeColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(numberFormat)) { @Override public void render(com.google.gwt.cell.client.Cell.Context context, Double value, SafeHtmlBuilder sb) { String style = value < 0 ? "red" : "green"; sb.appendHtmlConstant("<span style='color:" + style + "'>"); super.render(context, value, sb); sb.appendHtmlConstant("</span>"); } }); configs.add(changeColumn); ColumnConfig<Stock, Date> dateColumn = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Date"); dateColumn.setCell(new DateCell(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT))); configs.add(dateColumn); final ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ColumnModel<Stock> cm = new ColumnModel<Stock>(configs); cm.addHeaderGroup(0, 0, new HeaderGroupConfig("Stock Information", 1, 2)); cm.addHeaderGroup(0, 2, new HeaderGroupConfig("Stock Performance", 1, 2)); AggregationRowConfig<Stock> averages = new AggregationRowConfig<Stock>(); averages.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Average")); averages.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new AvgSummaryType<Number>())); averages.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new AvgSummaryType<Number>())); cm.addAggregationRow(averages); AggregationRowConfig<Stock> max = new AggregationRowConfig<Stock>(); max.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Maximum")); max.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new MaxSummaryType<Number>())); max.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new MaxSummaryType<Number>())); cm.addAggregationRow(max); AggregationRowConfig<Stock> min = new AggregationRowConfig<Stock>(); min.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Minimum")); min.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new MinSummaryType<Number>())); min.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new MinSummaryType<Number>())); cm.addAggregationRow(min); FramedPanel cp = new FramedPanel(); cp.setCollapsible(true); cp.setAnimCollapse(false); cp.setHeadingText("Aggregation Rows"); cp.setPixelSize(600, 350); cp.addStyleName("margin-10"); Grid<Stock> grid = new Grid<Stock>(store, cm); grid.setBorders(true); grid.getView().setAutoExpandColumn(nameColumn); cp.add(grid); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.LiveGroupSummaryExample.java
License:sencha.com license
@Override public Widget asWidget() { List<Task> tasks = TestData.getTasks(); TaskProperties properties = GWT.create(TaskProperties.class); final ListStore<Task> store = new ListStore<Task>(properties.key()); store.addAll(tasks);//from w w w .j a v a 2 s. c o m SummaryColumnConfig<Task, String> desc = new SummaryColumnConfig<Task, String>(properties.description(), 65, "Task"); desc.setSummaryType(new SummaryType.CountSummaryType<String>()); desc.setSummaryRenderer(new SummaryRenderer<Task>() { @Override public SafeHtml render(Number value, Map<ValueProvider<? super Task, ?>, Number> data) { return SafeHtmlUtils .fromTrustedString(value.intValue() > 1 ? "(" + value.intValue() + " Tasks)" : "(1 Task)"); } }); final SummaryColumnConfig<Task, String> project = new SummaryColumnConfig<Task, String>( properties.project(), 55, "Project"); SummaryColumnConfig<Task, String> due = new SummaryColumnConfig<Task, String>(properties.due(), 20, "Due"); SummaryColumnConfig<Task, Double> estimate = new SummaryColumnConfig<Task, Double>(properties.estimate(), 20, "Estimate"); estimate.setSummaryType(new SummaryType.SumSummaryType<Double>()); estimate.setSummaryRenderer(new SummaryRenderer<Task>() { @Override public SafeHtml render(Number value, Map<ValueProvider<? super Task, ?>, Number> data) { return SafeHtmlUtils.fromTrustedString(value + " hours"); } }); estimate.setCell(new AbstractCell<Double>() { @Override public void render(com.google.gwt.cell.client.Cell.Context context, Double value, SafeHtmlBuilder sb) { sb.appendHtmlConstant(value + " hours"); } }); SummaryColumnConfig<Task, Double> rate = new SummaryColumnConfig<Task, Double>(properties.rate(), 20, "Rate"); rate.setAlignment(HasHorizontalAlignment.ALIGN_RIGHT); rate.setCell(new NumberCell<Double>(NumberFormat.getCurrencyFormat())); rate.setSummaryType(new SummaryType.AvgSummaryType<Double>()); rate.setSummaryFormat(NumberFormat.getCurrencyFormat()); SummaryColumnConfig<Task, Task> cost = new SummaryColumnConfig<Task, Task>( new IdentityValueProvider<Task>(), 20, "Cost"); cost.setColumnClassSuffix("cost"); cost.setAlignment(HasHorizontalAlignment.ALIGN_RIGHT); cost.setCell(new AbstractCell<Task>() { @Override public void render(com.google.gwt.cell.client.Cell.Context context, Task value, SafeHtmlBuilder sb) { sb.appendHtmlConstant( NumberFormat.getCurrencyFormat().format(value.getRate() * value.getEstimate())); } }); cost.setSummaryFormat(NumberFormat.getCurrencyFormat()); cost.setSummaryType(new SummaryType<Task, Double>() { @Override public <M> Double calculate(List<? extends M> m, ValueProvider<? super M, Task> valueProvider) { double value = 0; for (int i = 0; i < m.size(); i++) { Task t = valueProvider.getValue(m.get(i)); value = value + (t.getRate() * t.getEstimate()); } return value; } }); cost.setComparator(new Comparator<Task>() { @Override public int compare(Task o1, Task o2) { return Double.valueOf(o1.getRate() * o1.getEstimate()).compareTo(o2.getRate() * o2.getEstimate()); } }); List<ColumnConfig<Task, ?>> cfgs = new ArrayList<ColumnConfig<Task, ?>>(); cfgs.add(desc); cfgs.add(project); cfgs.add(due); cfgs.add(estimate); cfgs.add(rate); cfgs.add(cost); ColumnModel<Task> cm = new ColumnModel<Task>(cfgs); final GroupSummaryView<Task> summary = new GroupSummaryView<Task>(); summary.setForceFit(true); summary.setShowGroupedColumn(false); Grid<Task> grid = new Grid<Task>(store, cm); grid.setBorders(true); grid.setView(summary); grid.getView().setShowDirtyCells(false); Scheduler.get().scheduleFinally(new ScheduledCommand() { @Override public void execute() { summary.groupBy(project); } }); FramedPanel panel = new FramedPanel(); panel.setHeadingHtml("Sponsored Projects"); panel.setSize("800", "450"); panel.add(grid); panel.addStyleName("margin-10"); panel.setCollapsible(true); return panel; }