Example usage for com.google.gwt.i18n.client NumberFormat format

List of usage examples for com.google.gwt.i18n.client NumberFormat format

Introduction

In this page you can find the example usage for com.google.gwt.i18n.client NumberFormat format.

Prototype

public String format(Number number) 

Source Link

Document

This method formats a Number to produce a string.

Usage

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.RowNumbererGridExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    final NumberFormat number = NumberFormat.getFormat("0.00");

    IdentityValueProvider<Stock> identity = new IdentityValueProvider<Stock>();

    RowNumberer<Stock> numberer = new RowNumberer<Stock>(identity);

    ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "Company");
    ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol");
    ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last");

    ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
    changeCol.setCell(new AbstractCell<Double>() {

        @Override//from   w w w  .java 2  s  .  c  o m
        public void render(Context context, Double value, SafeHtmlBuilder sb) {
            String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
            String v = number.format(value);
            sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
        }
    });

    ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100,
            "Last Updated");
    lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));

    List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>();
    l.add(numberer);
    l.add(nameCol);
    l.add(symbolCol);
    l.add(lastCol);
    l.add(changeCol);
    l.add(lastTransCol);
    ColumnModel<Stock> cm = new ColumnModel<Stock>(l);

    ListStore<Stock> store = new ListStore<Stock>(props.key());
    store.addAll(TestData.getStocks());

    final Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.getView().setAutoExpandColumn(nameCol);
    grid.setBorders(false);
    grid.getView().setStripeRows(true);
    grid.getView().setColumnLines(true);

    numberer.initPlugin(grid);

    ContentPanel cp = new ContentPanel();
    cp.setHeadingText("RowNumberer Grid");
    cp.getHeader().setIcon(ExampleImages.INSTANCE.table());
    cp.setPixelSize(600, 320);
    cp.addStyleName("margin-10");

    cp.setButtonAlign(BoxLayoutPack.END);
    cp.addButton(new TextButton("Remove a Row", new SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            grid.getStore().remove(grid.getStore().get(0));
            if (grid.getStore().size() == 0) {
                TextButton b = (TextButton) event.getSource();
                b.disable();
            }
        }
    }));

    cp.setWidget(grid);

    return cp;
}

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.layout.PortalLayoutContainerExample.java

License:sencha.com license

public Widget createGrid() {
    final NumberFormat number = NumberFormat.getFormat("0.00");

    ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "Company");
    ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol");
    ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last");

    ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
    changeCol.setCell(new AbstractCell<Double>() {

        @Override/*from  ww w . ja v  a 2s .c o  m*/
        public void render(Context context, Double value, SafeHtmlBuilder sb) {
            String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
            String v = number.format(value);
            sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
        }
    });

    ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100,
            "Last Updated");
    lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));

    List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>();
    l.add(nameCol);
    l.add(symbolCol);
    l.add(lastCol);
    l.add(changeCol);
    l.add(lastTransCol);
    ColumnModel<Stock> cm = new ColumnModel<Stock>(l);

    ListStore<Stock> store = new ListStore<Stock>(props.key());
    store.addAll(TestData.getStocks());

    final Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.getView().setAutoExpandColumn(nameCol);
    grid.setBorders(true);
    grid.getView().setStripeRows(true);
    grid.getView().setColumnLines(true);

    // needed to enable quicktips (qtitle for the heading and qtip for the
    // content) that are setup in the change GridCellRenderer
    new QuickTip(grid);

    return grid;
}

From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.layout.PortalLayoutContainerUiBinderExample.java

License:sencha.com license

@UiFactory()
public Grid<Stock> createGrid() {
    final NumberFormat number = NumberFormat.getFormat("0.00");

    ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "Company");
    ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol");
    ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last");

    ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
    changeCol.setCell(new AbstractCell<Double>() {

        @Override//from  w w w. j a  va  2 s  .  c o  m
        public void render(Context context, Double value, SafeHtmlBuilder sb) {
            SafeStylesBuilder stylesBuilder = new SafeStylesBuilder();
            stylesBuilder.appendTrustedString("color:" + (value < 0 ? "red" : "green") + ";");
            String v = number.format(value);
            CellTemplates cellTemplates = GWT.create(CellTemplates.class);
            SafeHtml template = cellTemplates.template(stylesBuilder.toSafeStyles(), v, v);
            sb.append(template);
        }
    });

    ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100,
            "Last Updated");
    lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));

    List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>();
    l.add(nameCol);
    l.add(symbolCol);
    l.add(lastCol);
    l.add(changeCol);
    l.add(lastTransCol);
    ColumnModel<Stock> cm = new ColumnModel<Stock>(l);

    ListStore<Stock> store = new ListStore<Stock>(props.key());
    store.addAll(TestData.getStocks());

    final Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.getView().setAutoExpandColumn(nameCol);
    grid.setBorders(false);
    grid.getView().setStripeRows(true);
    grid.getView().setColumnLines(true);

    // needed to enable quicktips (qtitle for the heading and qtip for the
    // content) that are setup in the change GridCellRenderer
    new QuickTip(grid);

    return grid;
}

From source file:com.npisoft.officine.client.application.GridExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    final NumberFormat number = NumberFormat.getFormat("0.00");

    ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 50,
            SafeHtmlUtils.fromTrustedString("<b>Company</b>"));

    ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol");
    ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last");

    ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
    changeCol.setCell(new AbstractCell<Double>() {

        @Override/*from ww  w  .  ja  va2 s.  co  m*/
        public void render(Context context, Double value, SafeHtmlBuilder sb) {
            String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
            String v = number.format(value);
            sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
        }
    });

    ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100,
            "Last Updated");
    lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));

    List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>();
    l.add(nameCol);
    l.add(symbolCol);
    l.add(lastCol);
    l.add(changeCol);
    l.add(lastTransCol);

    ColumnModel<Stock> cm = new ColumnModel<Stock>(l);

    ListStore<Stock> store = new ListStore<Stock>(props.key());
    store.addAll(getStocks());

    root = new ContentPanel();

    // panel = new ();
    // panel.setCollapsible(true);
    // panel.setPixelSize(500, 400);
    // panel.addStyleName("margin-10");

    root.setHeadingText("Basic Grid");
    root.getHeader().setIcon(ExampleImages.INSTANCE.table());
    root.setPixelSize(600, 300);
    root.addStyleName("margin-10");

    //ToolButton info = new ToolButton(ToolButton.QUESTION);
    //ToolTipConfig config = new ToolTipConfig("Example Info",
    //   "This examples includes resizable panel, reorderable columns and grid state.");
    //config.setMaxWidth(225);
    //info.setToolTipConfig(config);
    // root.addTool(info);

    final Resizable resizable = new Resizable(root, Dir.E, Dir.SE, Dir.S);
    root.addExpandHandler(new ExpandHandler() {
        @Override
        public void onExpand(ExpandEvent event) {
            resizable.setEnabled(true);
        }
    });
    root.addCollapseHandler(new CollapseHandler() {
        @Override
        public void onCollapse(CollapseEvent event) {
            resizable.setEnabled(false);
        }
    });

    final Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.getView().setAutoExpandColumn(nameCol);
    grid.getView().setStripeRows(true);
    grid.getView().setColumnLines(true);
    grid.setBorders(false);

    grid.setColumnReordering(true);
    grid.setStateful(true);
    grid.setStateId("gridExample");

    GridStateHandler<Stock> state = new GridStateHandler<Stock>(grid);
    state.loadState();

    ToolBar toolBar = new ToolBar();
    toolBar.setEnableOverflow(false);
    // toolBar.add(new LabelToolItem("Selection Mode: "));

    BoxLayoutData flex = new BoxLayoutData(new Margins(0, 5, 0, 5));
    flex.setFlex(1);
    toolBar.add(new Label(), flex);

    TextButton btn0 = new TextButton();
    btn0.setIcon(ExampleImages.INSTANCE.add());
    btn0.setWidth(50);
    btn0.setToolTip("Ajouter");
    btn0.setIconAlign(IconAlign.TOP);
    toolBar.add(btn0);

    HelloWindowExample helloWindowExample = new HelloWindowExample();
    final Window window = (Window) helloWindowExample.asWidget();
    btn0.addSelectHandler(new SelectHandler() {
        @Override
        public void onSelect(SelectEvent event) {
            window.show();
        }
    });
    window.setData("open", btn0);

    TextButton btn2 = new TextButton();
    btn2.setIcon(ExampleImages.INSTANCE.delete0());
    btn2.setWidth(50);
    btn2.setToolTip("Supprimer");
    btn2.setIconAlign(IconAlign.TOP);
    toolBar.add(btn2);

    TextButton btn1 = new TextButton();
    btn1.setIcon(ExampleImages.INSTANCE.edit());
    btn1.setWidth(50);
    btn1.setToolTip("Editer");
    btn1.setIconAlign(IconAlign.TOP);
    toolBar.add(btn1);

    TextButton btn3 = new TextButton();
    btn3.setIcon(ExampleImages.INSTANCE.search());
    btn3.setWidth(50);
    btn3.setToolTip("Chercher");
    btn3.setIconAlign(IconAlign.TOP);
    toolBar.add(btn3);

    // toolBar.getToolTip().add

    SimpleComboBox<String> type = new SimpleComboBox<String>(new StringLabelProvider<String>());
    type.setTriggerAction(TriggerAction.ALL);
    type.setEditable(false);
    type.setWidth(100);
    type.add("Row");
    type.add("Cell");
    type.setValue("Row");
    // we want to change selection model on select, not value change which
    // fires on blur
    type.addSelectionHandler(new SelectionHandler<String>() {

        @Override
        public void onSelection(SelectionEvent<String> event) {
            boolean cell = event.getSelectedItem().equals("Cell");
            if (cell) {
                CellSelectionModel<Stock> c = new CellSelectionModel<Stock>();
                c.addCellSelectionChangedHandler(new CellSelectionChangedHandler<Stock>() {

                    @Override
                    public void onCellSelectionChanged(CellSelectionChangedEvent<Stock> event) {

                    }
                });

                grid.setSelectionModel(c);
            } else {
                grid.setSelectionModel(new GridSelectionModel<Stock>());
            }
        }
    });
    type.addValueChangeHandler(new ValueChangeHandler<String>() {

        @Override
        public void onValueChange(ValueChangeEvent<String> event) {

        }
    });
    // toolBar.add(type);

    VerticalLayoutContainer con = new VerticalLayoutContainer();
    root.setWidget(con);
    // root.setHeaderVisible(false);

    con.add(toolBar, new VerticalLayoutData(1, -1));
    con.add(grid, new VerticalLayoutData(1, 1));
    // final PagingLoader<PagingLoadConfig, PagingLoadResult<Post>> loader =
    // new PagingLoader<PagingLoadConfig, PagingLoadResult<Post>>(
    // proxy);
    // loader.setRemoteSort(true);
    // loader.addLoadHandler(new
    // LoadResultListStoreBinding<PagingLoadConfig, Post,
    // PagingLoadResult<Post>>(store));

    final PagingToolBar pagingToolBar = new PagingToolBar(50);
    pagingToolBar.getElement().getStyle().setProperty("borderBottom", "none");
    // pagingToolBar.bind(loader);
    con.add(pagingToolBar, new VerticalLayoutData(1, -1));

    // needed to enable quicktips (qtitle for the heading and qtip for the
    // content) that are setup in the change GridCellRenderer
    new QuickTip(grid);

    return root;
}

From source file:com.npisoft.officine.client.application.referentiel.product.refofficine.edit.GridExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    if (root == null) {
        final NumberFormat number = NumberFormat.getFormat("0.00");

        ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 50,
                SafeHtmlUtils.fromTrustedString("<b>Company</b>"));

        ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol");
        ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last");

        ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
        changeCol.setCell(new AbstractCell<Double>() {

            @Override/*from w ww .  j  av  a  2s. c om*/
            public void render(Context context, Double value, SafeHtmlBuilder sb) {
                String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
                String v = number.format(value);
                sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
            }
        });

        ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100,
                "Last Updated");
        lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));

        List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>();
        l.add(nameCol);
        l.add(symbolCol);
        l.add(lastCol);
        l.add(changeCol);
        l.add(lastTransCol);
        ColumnModel<Stock> cm = new ColumnModel<Stock>(l);

        ListStore<Stock> store = new ListStore<Stock>(props.key());
        store.addAll(TestData.getStocks());

        root = new ContentPanel();
        root.setHeaderVisible(false);
        root.setHeadingText("Basic Grid");
        root.getHeader().setIcon(ExampleImages.INSTANCE.table());
        root.setPixelSize(680, 300);
        root.addStyleName("margin-10");

        ToolButton info = new ToolButton(ToolButton.QUESTION);
        ToolTipConfig config = new ToolTipConfig("Example Info",
                "This examples includes resizable panel, reorderable columns and grid state.");
        config.setMaxWidth(225);
        info.setToolTipConfig(config);
        root.addTool(info);

        final Resizable resizable = new Resizable(root, Dir.E, Dir.SE, Dir.S);
        root.addExpandHandler(new ExpandHandler() {
            @Override
            public void onExpand(ExpandEvent event) {
                resizable.setEnabled(true);
            }
        });
        root.addCollapseHandler(new CollapseHandler() {
            @Override
            public void onCollapse(CollapseEvent event) {
                resizable.setEnabled(false);
            }
        });

        final Grid<Stock> grid = new Grid<Stock>(store, cm);
        grid.getView().setAutoExpandColumn(nameCol);
        grid.getView().setStripeRows(true);
        grid.getView().setColumnLines(true);
        grid.setBorders(false);

        grid.setColumnReordering(true);
        grid.setStateful(true);
        grid.setStateId("gridExample");

        GridStateHandler<Stock> state = new GridStateHandler<Stock>(grid);
        state.loadState();

        ToolBar toolBar = new ToolBar();
        toolBar.setEnableOverflow(false);
        toolBar.add(new LabelToolItem("Selection Mode: "));

        SimpleComboBox<String> type = new SimpleComboBox<String>(new StringLabelProvider<String>());
        type.setTriggerAction(TriggerAction.ALL);
        type.setEditable(false);
        type.setWidth(100);
        type.add("Row");
        type.add("Cell");
        type.setValue("Row");
        // we want to change selection model on select, not value change which fires on blur
        type.addSelectionHandler(new SelectionHandler<String>() {

            @Override
            public void onSelection(SelectionEvent<String> event) {
                boolean cell = event.getSelectedItem().equals("Cell");
                if (cell) {
                    CellSelectionModel<Stock> c = new CellSelectionModel<Stock>();
                    c.addCellSelectionChangedHandler(new CellSelectionChangedHandler<Stock>() {

                        @Override
                        public void onCellSelectionChanged(CellSelectionChangedEvent<Stock> event) {

                        }
                    });

                    grid.setSelectionModel(c);
                } else {
                    grid.setSelectionModel(new GridSelectionModel<Stock>());
                }
            }
        });
        type.addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {

            }
        });
        toolBar.add(type);

        VerticalLayoutContainer con = new VerticalLayoutContainer();
        root.setWidget(con);

        //con.add(toolBar, new VerticalLayoutData(1, -1));
        con.add(grid, new VerticalLayoutData(1, 1));

        // needed to enable quicktips (qtitle for the heading and qtip for the
        // content) that are setup in the change GridCellRenderer
        new QuickTip(grid);
    }

    return root;
}

From source file:com.rcharts.client.pie.Slice3D.java

License:Apache License

public void setTitle() {
    PieChart ch = (PieChart) chart;/*ww w  . j  a v a  2 s  .  c o  m*/
    if (ch.isShowSpeechBubble()) {
        return;
    }
    double per = ((value / total) * 100);
    NumberFormat format = NumberFormat.getFormat("##.##");
    String title = name + " : " + value + " \n " + format.format(per) + "%";
    setTitle(title);

}

From source file:com.sencha.gxt.chart.client.chart.series.SeriesLabelConfig.java

License:sencha.com license

/**
 * Creates a label provider using the given {@link NumberFormat}.
 * /*  ww  w . ja v  a2s  .  co  m*/
 * @param format the number formatter
 */
public void setNumberFormatProvider(final NumberFormat format) {
    this.labelProvider = new SeriesLabelProvider<M>() {
        @Override
        public String getLabel(M item, ValueProvider<? super M, ? extends Number> valueProvider) {
            return format.format(valueProvider.getValue(item));
        }
    };
}

From source file:com.smartgwt.sample.showcase.client.grid.GridMultiLineSummariesSample.java

License:Open Source License

public Canvas getViewPanel() {
    DataSource dataSource = OrderItemLocalDS.getInstance();

    final DateTimeFormat dtf = DateTimeFormat.getFormat("MMM d, yyyy");

    ListGridField orderIdField = new ListGridField("orderID");
    orderIdField.setIncludeInRecordSummary(false);
    orderIdField.setSummaryFunction(SummaryFunctionType.COUNT);

    ListGridField itemDescriptionField = new ListGridField("itemDescription");
    itemDescriptionField.setWidth(100);//  www.  j a  va  2  s.  c  o  m

    ListGridField categoryField = new ListGridField("category");
    categoryField.setShowGridSummary(true);
    categoryField.setSummaryFunction(new SummaryFunction() {
        public Object getSummaryValue(Record[] records, ListGridField field) {
            final Set<String> uniqueCategories = new HashSet<String>();
            for (final Record record : records) {
                uniqueCategories.add(record.getAttribute("category"));
            }
            return uniqueCategories.size() + " Categories";
        }
    });

    ListGridField shipDateField = new ListGridField("shipDate");
    shipDateField.setWidth(160);
    shipDateField.setShowGroupSummary(true);
    shipDateField.setShowGridSummary(false);
    shipDateField.setSummaryFunction(new SummaryFunction() {
        public Object getSummaryValue(Record[] records, ListGridField field) {
            Date firstOrder = null;
            for (int i = 0; i < records.length; i++) {
                Record record = records[i];
                Date shipDate = record.getAttributeAsDate("shipDate");
                if (firstOrder == null || shipDate.before(firstOrder)) {
                    firstOrder = shipDate;
                }
            }
            return "First Order " + dtf.format(firstOrder);
        }
    });
    shipDateField.addSummaryFunction(new SummaryFunction() {
        public Object getSummaryValue(Record[] records, ListGridField field) {
            Date lastOrder = null;
            for (int i = 0; i < records.length; i++) {
                Record record = records[i];
                Date shipDate = record.getAttributeAsDate("shipDate");
                if (lastOrder == null || shipDate.after(lastOrder)) {
                    lastOrder = shipDate;
                }
            }
            return "Last Order " + dtf.format(lastOrder);
        }
    });

    ListGridField quantityField = new ListGridField("quantity");
    quantityField.setShowGroupSummary(false);
    quantityField.setShowGridSummary(false);

    ListGridField unitPriceField = new ListGridField("unitPrice");
    unitPriceField.setAlign(Alignment.RIGHT);
    unitPriceField.setCellFormatter(new CellFormatter() {
        public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
            if (value == null)
                return null;
            try {
                NumberFormat nf = NumberFormat.getFormat("#,##0.00");
                return "$" + nf.format(((Number) value).doubleValue());
            } catch (Exception e) {
                return value.toString();
            }
        }
    });
    unitPriceField.setShowGroupSummary(false);
    unitPriceField.setShowGridSummary(false);

    ListGridSummaryField totalField = new ListGridSummaryField("total", "Total");
    totalField.setAlign(Alignment.RIGHT);
    totalField.setRecordSummaryFunction(RecordSummaryFunctionType.MULTIPLIER);
    totalField.setSummaryFunction(SummaryFunctionType.SUM);
    totalField.setShowGridSummary(true);
    totalField.setShowGroupSummary(true);
    totalField.setCellFormatter(new CellFormatter() {
        public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
            if (value == null)
                return null;
            try {
                NumberFormat nf = NumberFormat.getFormat("#,##0.00");
                return "$" + nf.format(((Number) value).doubleValue());
            } catch (Exception e) {
                return value.toString();
            }
        }
    });

    final ListGrid listGrid = new ListGrid();

    listGrid.setWidth(670);
    listGrid.setHeight(520);
    listGrid.setAutoFetchData(true);

    listGrid.setShowAllRecords(true);
    listGrid.setDataSource(dataSource);
    listGrid.setCanEdit(true);
    listGrid.setGroupByField("category");
    listGrid.setGroupStartOpen(GroupStartOpen.ALL);
    listGrid.setShowGridSummary(true);
    listGrid.setShowGroupSummary(true);

    listGrid.setFields(orderIdField, itemDescriptionField, categoryField, shipDateField, quantityField,
            unitPriceField, totalField);

    return listGrid;
}

From source file:com.smartgwt.sample.showcase.client.grid.GridSummariesInHeaderSample.java

License:Open Source License

public Canvas getViewPanel() {
    DataSource dataSource = OrderItemLocalDS.getInstance();

    ListGridField orderIdField = new ListGridField("orderID");
    orderIdField.setIncludeInRecordSummary(false);
    orderIdField.setSummaryFunction(SummaryFunctionType.COUNT);

    ListGridField itemDescriptionField = new ListGridField("itemDescription");

    ListGridField categoryField = new ListGridField("category");
    categoryField.setShowGridSummary(true);
    categoryField.setSummaryFunction(new SummaryFunction() {
        public Object getSummaryValue(Record[] records, ListGridField field) {
            final Set<String> uniqueCategories = new HashSet<String>();
            for (final Record record : records) {
                uniqueCategories.add(record.getAttribute("category"));
            }/*from w  ww . j  a  va 2s.c  om*/
            return uniqueCategories.size() + " Categories";
        }
    });

    ListGridField shipDateField = new ListGridField("shipDate");
    shipDateField.setShowGroupSummary(true);
    shipDateField.setShowGridSummary(false);
    shipDateField.setSummaryFunction(SummaryFunctionType.MAX);

    ListGridField quantityField = new ListGridField("quantity");
    quantityField.setShowGroupSummary(false);
    quantityField.setShowGridSummary(false);

    ListGridField unitPriceField = new ListGridField("unitPrice");
    unitPriceField.setAlign(Alignment.RIGHT);
    unitPriceField.setCellFormatter(new CellFormatter() {
        public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
            if (value == null)
                return null;
            try {
                NumberFormat nf = NumberFormat.getFormat("#,##0.00");
                return "$" + nf.format(((Number) value).doubleValue());
            } catch (Exception e) {
                return value.toString();
            }
        }
    });
    unitPriceField.setShowGroupSummary(false);
    unitPriceField.setShowGridSummary(false);

    ListGridSummaryField totalField = new ListGridSummaryField("total", "Total");
    totalField.setAlign(Alignment.RIGHT);
    totalField.setRecordSummaryFunction(RecordSummaryFunctionType.MULTIPLIER);
    totalField.setSummaryFunction(SummaryFunctionType.SUM);
    totalField.setShowGridSummary(true);
    totalField.setShowGroupSummary(true);
    totalField.setCellFormatter(new CellFormatter() {
        public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
            if (value == null)
                return null;
            try {
                NumberFormat nf = NumberFormat.getFormat("#,##0.00");
                return "$" + nf.format(((Number) value).doubleValue());
            } catch (Exception e) {
                return value.toString();
            }
        }
    });

    final ListGrid listGrid = new ListGrid();

    listGrid.setWidth(650);
    listGrid.setHeight(520);
    listGrid.setAutoFetchData(true);

    listGrid.setShowAllRecords(true);
    listGrid.setDataSource(dataSource);
    listGrid.setCanEdit(true);
    listGrid.setGroupByField("category");
    listGrid.setGroupStartOpen(GroupStartOpen.ALL);
    listGrid.setShowGridSummary(true);
    listGrid.setShowGroupSummary(true);

    listGrid.setShowGroupSummaryInHeader(true);

    listGrid.setFields(orderIdField, itemDescriptionField, categoryField, shipDateField, quantityField,
            unitPriceField, totalField);

    return listGrid;
}

From source file:com.smartgwt.sample.showcase.client.miniapp.ItemListGrid.java

License:Open Source License

public ItemListGrid(DataSource supplyItemDS) {

    setDataSource(supplyItemDS);/*from  w  ww  .ja v  a 2  s.c  o m*/
    setUseAllDataSourceFields(true);

    ListGridField itemName = new ListGridField("itemName", "Name");
    itemName.setShowHover(true);

    ListGridField units = new ListGridField("units");
    units.setWidth(100);

    ListGridField unitCost = new ListGridField("unitCost");
    unitCost.setWidth(100);

    unitCost.setCellFormatter(new CellFormatter() {
        public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
            if (value == null)
                return null;
            try {
                NumberFormat nf = NumberFormat.getFormat("##0.00");
                return "$" + nf.format(((Number) value).floatValue());
            } catch (Exception e) {
                return value.toString();
            }
        }
    });

    unitCost.setEditorType(SpinnerItem.class);
    SpinnerItem spinnerItem = new SpinnerItem();
    spinnerItem.setStep(0.01);
    unitCost.setEditorProperties(spinnerItem);

    ListGridField sku = new ListGridField("SKU");
    sku.setCanEdit(false);

    ListGridField description = new ListGridField("description");
    description.setWidth(150);
    description.setShowHover(true);

    ListGridField category = new ListGridField("category");
    category.setCanEdit(false);

    ListGridField inStock = new ListGridField("inStock");
    inStock.setWidth(70);
    inStock.setAlign(Alignment.CENTER);

    ListGridField nextShipment = new ListGridField("nextShipent", 150);
    nextShipment.setShowIfCondition(new ListGridFieldIfFunction() {
        public boolean execute(ListGrid grid, ListGridField field, int fieldNum) {
            return false;
        }
    });

    setFields(itemName, units, unitCost, sku, description, category, inStock);
    setCanEdit(true);
    setCanDragRecordsOut(true);
    setHoverWidth(200);
    setHoverHeight(20);
    setSelectionType(SelectionStyle.SINGLE);
}