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.ephesoft.gxt.admin.client.view.kvextraction.KVExtractionGridView.java

License:Open Source License

public Float getRange(Float val) {
    NumberFormat format = NumberFormat.getFormat(".##");
    Float range = val;
    String str = format.format(range);
    range = Float.valueOf(str);/*from w w w . j  a v a  2s .c  o m*/
    return range;
}

From source file:com.extjs.gxt.samples.client.examples.binding.GridBindingExample.java

License:Open Source License

private Grid<Stock> createGrid() {
    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {

        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : "green";
            return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
        }//from  w  w  w.jav  a  2  s  . c  o  m
    };

    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setHeader("Company");
    column.setWidth(200);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("symbol");
    column.setHeader("Symbol");
    column.setWidth(75);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("last");
    column.setHeader("Last");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(75);
    column.setRenderer(gridNumber);
    configs.add(column);

    column = new ColumnConfig("change", "Change", 90);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setRenderer(change);
    configs.add(column);

    column = new ColumnConfig("date", "Last Updated", 90);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    ListStore<Stock> store = new ListStore<Stock>();
    store.setMonitorChanges(true);
    store.add(TestData.getStocks());

    ColumnModel cm = new ColumnModel(configs);

    Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.getView().setEmptyText("sdfd");
    grid.setBorders(false);
    grid.setAutoExpandColumn("name");
    grid.setBorders(true);

    return grid;
}

From source file:com.extjs.gxt.samples.client.examples.dnd.ReorderingGridExample.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from   w ww  . j  a v a  2s .c  om
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);

    setLayout(new FlowLayout(10));

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : "green";
            return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
        }
    };

    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setSortable(false);
    column.setHeader("Company");
    column.setWidth(200);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("symbol");
    column.setHeader("Symbol");
    column.setWidth(100);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("last");
    column.setHeader("Last");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(75);
    column.setRenderer(gridNumber);
    configs.add(column);

    column = new ColumnConfig("change", "Change", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setRenderer(change);
    configs.add(column);

    column = new ColumnConfig("date", "Last Updated", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    ListStore<Stock> store = new ListStore<Stock>();
    store.add(Util.subList(TestData.getStocks(), 0, 12));

    ColumnModel cm = new ColumnModel(configs);

    ContentPanel cp = new ContentPanel();
    cp.setBodyBorder(false);
    cp.setIcon(Resources.ICONS.table());
    cp.setHeading("Reordering Grid");
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.setLayout(new FitLayout());
    cp.setSize(600, 304);

    Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.setStyleAttribute("borderTop", "none");
    grid.setAutoExpandColumn("name");
    grid.setBorders(true);
    grid.setStripeRows(true);
    cp.add(grid);

    new GridDragSource(grid);

    GridDropTarget target = new GridDropTarget(grid);
    target.setAllowSelfAsSource(true);
    target.setFeedback(Feedback.INSERT);

    add(cp);
}

From source file:com.extjs.gxt.samples.client.examples.grid.AggregationGridExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);

    setLayout(new FlowLayout(15));

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : "green";
            return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
        }/*from  w  w w. j  a v a2s  .  c  om*/
    };

    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setHeader("Company");
    column.setWidth(200);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("symbol");
    column.setHeader("Symbol");
    column.setWidth(100);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("last");
    column.setHeader("Last");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(100);
    column.setRenderer(gridNumber);
    configs.add(column);

    column = new ColumnConfig("change", "Change", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setRenderer(change);
    configs.add(column);

    column = new ColumnConfig("date", "Last Updated", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    final ListStore<Stock> store = new ListStore<Stock>();
    store.add(TestData.getStocks());

    ColumnModel cm = new ColumnModel(configs);

    cm.addHeaderGroup(0, 2, new HeaderGroupConfig("Stock Performance", 1, 2));
    cm.addHeaderGroup(0, 0, new HeaderGroupConfig("Stock Information", 1, 2));

    AggregationRowConfig<Stock> averages = new AggregationRowConfig<Stock>();
    averages.setHtml("name", "Average");

    // with summary type and format
    averages.setSummaryType("last", SummaryType.AVG);
    averages.setSummaryFormat("last", NumberFormat.getCurrencyFormat());

    // with renderer
    averages.setSummaryType("change", SummaryType.AVG);
    averages.setRenderer("change", new AggregationRenderer<Stock>() {
        public Object render(Number value, int colIndex, Grid<Stock> grid, ListStore<Stock> store) {
            // you can return html here
            return number.format(value.doubleValue());
        }
    });
    cm.addAggregationRow(averages);

    averages = new AggregationRowConfig<Stock>();
    averages.setHtml("name", "Maximum");

    averages.setSummaryType("last", SummaryType.MAX);
    averages.setSummaryFormat("last", NumberFormat.getCurrencyFormat());

    averages.setSummaryType("change", SummaryType.MAX);
    averages.setRenderer("change", new AggregationRenderer<Stock>() {
        public Object render(Number value, int colIndex, Grid<Stock> grid, ListStore<Stock> store) {
            return number.format(value.doubleValue());
        }
    });
    cm.addAggregationRow(averages);

    ContentPanel cp = new ContentPanel();
    cp.setCollapsible(true);
    cp.setAnimCollapse(false);
    cp.setFrame(true);
    cp.setHeading("Aggregation Rows");
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.setLayout(new FitLayout());
    cp.setBounds(10, 10, 600, 350);

    Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.setBorders(false);
    grid.setAutoExpandColumn("name");
    grid.setBorders(true);
    cp.add(grid);

    add(cp);
}

From source file:com.extjs.gxt.samples.client.examples.grid.FilterGridExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setLayout(new FlowLayout(10));
    getAriaSupport().setPresentation(true);

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : GXT.isHighContrastMode ? "#00ff5a" : "green";
            return "<span style='font-weight: bold;color:" + style + "'>" + number.format(val) + "</span>";
        }/*from   w w w . ja v a  2s.  c o  m*/
    };

    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setHeader("Company");
    column.setWidth(200);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("symbol");
    column.setHeader("Symbol");
    column.setWidth(100);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("last");
    column.setHeader("Last");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(100);
    column.setRenderer(gridNumber);
    configs.add(column);

    column = new ColumnConfig("change", "Change", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setRenderer(change);
    configs.add(column);

    column = new ColumnConfig("date", "Last Updated", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    column = new ColumnConfig("split", "Split", 75);
    column.setRenderer(new GridCellRenderer<Stock>() {
        public Object render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            Boolean b = model.get(property);
            return b != null && b.booleanValue() ? "Yes" : "No";
        }
    });
    configs.add(column);

    column = new ColumnConfig("type", "Type", 75);
    configs.add(column);

    ListStore<Stock> store = new ListStore<Stock>();
    store.add(TestData.getStocks());

    ColumnModel cm = new ColumnModel(configs);

    ContentPanel cp = new ContentPanel();
    cp.setBodyBorder(true);
    cp.setIcon(Resources.ICONS.table());
    cp.setHeading("Filter Grid");
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.setLayout(new FitLayout());
    cp.setSize(660, 300);

    GridFilters filters = new GridFilters();
    filters.setLocal(true);

    NumericFilter last = new NumericFilter("last");
    NumericFilter filter = new NumericFilter("change");
    StringFilter nameFilter = new StringFilter("name");
    DateFilter dateFilter = new DateFilter("date");
    BooleanFilter booleanFilter = new BooleanFilter("split");

    ListStore<ModelData> typeStore = new ListStore<ModelData>();
    typeStore.add(type("Auto"));
    typeStore.add(type("Media"));
    typeStore.add(type("Medical"));
    typeStore.add(type("Tech"));
    ListFilter listFilter = new ListFilter("type", typeStore);
    listFilter.setDisplayProperty("type");

    filters.addFilter(last);
    filters.addFilter(nameFilter);
    filters.addFilter(filter);
    filters.addFilter(dateFilter);
    filters.addFilter(booleanFilter);
    filters.addFilter(listFilter);

    final Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.getView().setForceFit(true);
    grid.setStyleAttribute("borderTop", "none");
    grid.setAutoExpandColumn("name");
    grid.setBorders(false);
    grid.setStripeRows(true);
    grid.setColumnLines(true);
    grid.addPlugin(filters);
    cp.add(grid);

    ToolBar toolBar = new ToolBar();
    toolBar.getAriaSupport().setLabel("Grid Options");

    toolBar.add(new LabelToolItem("Selection Mode: "));
    final SimpleComboBox<String> type = new SimpleComboBox<String>();
    type.setTriggerAction(TriggerAction.ALL);
    type.setEditable(false);
    type.setFireChangeEventOnSetValue(true);
    type.setWidth(100);
    type.add("Row");
    type.add("Cell");
    type.setSimpleValue("Row");
    type.addListener(Events.Change, new Listener<FieldEvent>() {
        public void handleEvent(FieldEvent be) {
            boolean cell = type.getSimpleValue().equals("Cell");
            grid.getSelectionModel().deselectAll();
            if (cell) {
                grid.setSelectionModel(new CellSelectionModel<Stock>());
            } else {
                grid.setSelectionModel(new GridSelectionModel<Stock>());
            }
        }
    });
    toolBar.add(type);
    cp.setTopComponent(toolBar);
    add(cp);
}

From source file:com.extjs.gxt.samples.client.examples.grid.GridExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setLayout(new FlowLayout(10));
    getAriaSupport().setPresentation(true);

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : GXT.isHighContrastMode ? "#00ff5a" : "green";
            String v = number.format(val);

            return "<span qtitle='" + cm.getColumnById(property).getHeader() + "' qtip='" + v
                    + "' style='font-weight: bold;color:" + style + "'>" + v + "</span>";
        }/*ww w.  ja  va 2  s.  c  o  m*/
    };

    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setHeader("Company");
    column.setWidth(200);
    column.setRowHeader(true);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("symbol");
    column.setHeader("Symbol");
    column.setWidth(100);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("last");
    column.setHeader("Last");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(75);
    column.setRenderer(gridNumber);
    configs.add(column);

    column = new ColumnConfig("change", "Change", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setRenderer(change);
    configs.add(column);

    column = new ColumnConfig("date", "Last Updated", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    ListStore<Stock> store = new ListStore<Stock>();
    store.add(TestData.getStocks());

    cm = new ColumnModel(configs);

    ContentPanel cp = new ContentPanel();
    cp.setBodyBorder(true);
    cp.setIcon(Resources.ICONS.table());
    cp.setHeading("Basic Grid");
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.setLayout(new FitLayout());
    cp.getHeader().setIconAltText("Grid Icon");
    cp.setSize(600, 300);

    final Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.setStyleAttribute("borderTop", "none");
    grid.setAutoExpandColumn("name");
    grid.setBorders(false);
    grid.setStripeRows(true);
    grid.setColumnLines(true);
    grid.setColumnReordering(true);
    grid.getAriaSupport().setLabelledBy(cp.getHeader().getId() + "-label");
    cp.add(grid);

    ToolBar toolBar = new ToolBar();
    toolBar.getAriaSupport().setLabel("Grid Options");

    toolBar.add(new LabelToolItem("Selection Mode: "));
    final SimpleComboBox<String> type = new SimpleComboBox<String>();
    type.getAriaSupport().setLabelledBy(toolBar.getItem(0).getId());
    type.setTriggerAction(TriggerAction.ALL);
    type.setEditable(false);
    type.setFireChangeEventOnSetValue(true);
    type.setWidth(100);
    type.add("Row");
    type.add("Cell");
    type.setSimpleValue("Row");
    type.addListener(Events.Change, new Listener<FieldEvent>() {
        public void handleEvent(FieldEvent be) {
            boolean cell = type.getSimpleValue().equals("Cell");
            grid.getSelectionModel().deselectAll();
            if (cell) {
                grid.setSelectionModel(new CellSelectionModel<Stock>());
            } else {
                grid.setSelectionModel(new GridSelectionModel<Stock>());
            }
        }
    });
    toolBar.add(type);

    cp.setTopComponent(toolBar);

    add(cp);

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

From source file:com.extjs.gxt.samples.client.examples.grid.GridPluginsExample.java

License:Open Source License

public GridPluginsExample() {
    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    change = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : "green";
            return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
        }/*from   ww w.jav a  2s.  co m*/
    };

    gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    panel = new VerticalPanel();
    panel.setSpacing(20);

}

From source file:com.extjs.gxt.samples.client.examples.grid.MemoryPagingGridExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);

    setLayout(new FlowLayout(10));

    // add paging support for a local collection of models
    PagingModelMemoryProxy proxy = new PagingModelMemoryProxy(TestData.getStocks());

    // loader//from   www  .java  2s. c  o m
    PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy);
    loader.setRemoteSort(true);

    ListStore<Stock> store = new ListStore<Stock>(loader);

    final PagingToolBar toolBar = new PagingToolBar(10);
    toolBar.bind(loader);

    loader.load(0, 10);

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : "green";
            return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
        }
    };

    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setHeader("Company");
    column.setWidth(200);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("symbol");
    column.setHeader("Symbol");
    column.setWidth(100);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("last");
    column.setHeader("Last");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(75);
    column.setRenderer(gridNumber);
    configs.add(column);

    column = new ColumnConfig("change", "Change", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setRenderer(change);
    configs.add(column);

    column = new ColumnConfig("date", "Last Updated", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    ColumnModel cm = new ColumnModel(configs);

    ContentPanel cp = new ContentPanel();
    cp.setFrame(true);
    cp.setHeading("Local Paging Grid");
    cp.setIcon(Resources.ICONS.table());
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.setLayout(new FitLayout());
    cp.setBottomComponent(toolBar);
    cp.setSize(600, 200);

    Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.setBorders(true);
    grid.setAutoExpandColumn("name");
    grid.getAriaSupport().setDescribedBy(toolBar.getId() + "-display");

    cp.add(grid);

    add(cp);
}

From source file:com.extjs.gxt.samples.client.examples.grid.RemoteFilterGridExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setLayout(new FlowLayout(10));
    getAriaSupport().setPresentation(true);

    final ExampleServiceAsync service = (ExampleServiceAsync) Registry.get(Examples.SERVICE);

    RpcProxy<PagingLoadResult<Stock>> proxy = new RpcProxy<PagingLoadResult<Stock>>() {
        @Override//from   ww w  . java  2 s.c om
        public void load(Object loadConfig, AsyncCallback<PagingLoadResult<Stock>> callback) {
            service.getStocks((FilterPagingLoadConfig) loadConfig, callback);
        }
    };

    // loader
    final PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(
            proxy) {
        @Override
        protected Object newLoadConfig() {
            BasePagingLoadConfig config = new BaseFilterPagingLoadConfig();
            return config;
        }

    };
    loader.setRemoteSort(true);

    ListStore<Stock> store = new ListStore<Stock>(loader);

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : GXT.isHighContrastMode ? "#00ff5a" : "green";
            return "<span style='font-weight: bold;color:" + style + "'>" + number.format(val) + "</span>";
        }
    };

    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setHeader("Company");
    column.setWidth(200);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("symbol");
    column.setHeader("Symbol");
    column.setWidth(100);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("last");
    column.setHeader("Last");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(100);
    column.setRenderer(gridNumber);
    configs.add(column);

    column = new ColumnConfig("change", "Change", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setRenderer(change);
    configs.add(column);

    column = new ColumnConfig("date", "Last Updated", 120);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    column = new ColumnConfig("split", "Split", 75);
    column.setRenderer(new GridCellRenderer<Stock>() {
        public Object render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            Boolean b = model.get(property);
            return b != null && b.booleanValue() ? "Yes" : "No";
        }
    });
    configs.add(column);

    column = new ColumnConfig("type", "Type", 75);
    configs.add(column);

    ColumnModel cm = new ColumnModel(configs);

    ContentPanel cp = new ContentPanel();
    cp.setBodyBorder(true);
    cp.setIcon(Resources.ICONS.table());
    cp.setHeading("Remote Filter Grid");
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.setLayout(new FitLayout());
    cp.setSize(660, 300);

    GridFilters filters = new GridFilters();
    NumericFilter last = new NumericFilter("last");
    NumericFilter filter = new NumericFilter("change");
    StringFilter nameFilter = new StringFilter("name");
    DateFilter dateFilter = new DateFilter("date");
    BooleanFilter booleanFilter = new BooleanFilter("split");

    ListStore<ModelData> typeStore = new ListStore<ModelData>();
    typeStore.add(type("Auto"));
    typeStore.add(type("Media"));
    typeStore.add(type("Medical"));
    typeStore.add(type("Tech"));
    ListFilter listFilter = new ListFilter("type", typeStore);
    listFilter.setDisplayProperty("type");

    filters.addFilter(last);
    filters.addFilter(nameFilter);
    filters.addFilter(filter);
    filters.addFilter(dateFilter);
    filters.addFilter(booleanFilter);
    filters.addFilter(listFilter);

    final Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.addListener(Events.Attach, new Listener<BaseEvent>() {
        public void handleEvent(BaseEvent be) {
            loader.load(0, 25);
        }
    });
    grid.getView().setForceFit(true);
    grid.setStyleAttribute("borderTop", "none");
    grid.setAutoExpandColumn("name");
    grid.setBorders(false);
    grid.setStripeRows(true);
    grid.setColumnLines(true);
    grid.addPlugin(filters);
    cp.add(grid);

    final PagingToolBar toolBar = new PagingToolBar(25);
    toolBar.bind(loader);

    cp.setBottomComponent(toolBar);

    add(cp);
}

From source file:com.extjs.gxt.samples.client.examples.grid.WidgetRenderingExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setLayout(new FlowLayout(10));

    GridCellRenderer<Stock> buttonRenderer = new GridCellRenderer<Stock>() {

        private boolean init;

        public Object render(final Stock model, String property, ColumnData config, final int rowIndex,
                final int colIndex, ListStore<Stock> store, Grid<Stock> grid) {
            if (!init) {
                init = true;/*w  ww  .j a  v a  2  s. c  o  m*/
                grid.addListener(Events.ColumnResize, new Listener<GridEvent<Stock>>() {

                    public void handleEvent(GridEvent<Stock> be) {
                        for (int i = 0; i < be.getGrid().getStore().getCount(); i++) {
                            if (be.getGrid().getView().getWidget(i, be.getColIndex()) != null && be.getGrid()
                                    .getView().getWidget(i, be.getColIndex()) instanceof BoxComponent) {
                                ((BoxComponent) be.getGrid().getView().getWidget(i, be.getColIndex()))
                                        .setWidth(be.getWidth() - 10);
                            }
                        }
                    }
                });
            }

            Button b = new Button((String) model.get(property), new SelectionListener<ButtonEvent>() {
                @Override
                public void componentSelected(ButtonEvent ce) {
                    Info.display(model.getName(), "<ul><li>" + model.getSymbol() + "</li></ul>");
                }
            });
            b.setWidth(grid.getColumnModel().getColumnWidth(colIndex) - 10);
            b.setToolTip("Click for more information");

            return b;
        }
    };

    final NumberFormat currency = NumberFormat.getCurrencyFormat();
    final NumberFormat number = NumberFormat.getFormat("0.00");
    final NumberCellRenderer<Grid<Stock>> numberRenderer = new NumberCellRenderer<Grid<Stock>>(currency);

    GridCellRenderer<Stock> change = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> store, Grid<Stock> grid) {
            double val = (Double) model.get(property);
            String style = val < 0 ? "red" : "green";
            return "<span style='color:" + style + "'>" + number.format(val) + "</span>";
        }
    };

    GridCellRenderer<Stock> gridNumber = new GridCellRenderer<Stock>() {
        public String render(Stock model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<Stock> stor, Grid<Stock> grid) {
            return numberRenderer.render(null, property, model.get(property));
        }
    };

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig column = new ColumnConfig();
    column.setId("name");
    column.setHeader("Company");
    column.setWidth(200);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("symbol");
    column.setHeader("Symbol");
    column.setWidth(100);
    column.setRenderer(buttonRenderer);
    configs.add(column);

    column = new ColumnConfig();
    column.setId("last");
    column.setHeader("Last");
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setWidth(75);
    column.setRenderer(gridNumber);
    configs.add(column);

    column = new ColumnConfig("change", "Change", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setRenderer(change);
    configs.add(column);

    column = new ColumnConfig("date", "Last Updated", 100);
    column.setAlignment(HorizontalAlignment.RIGHT);
    column.setDateTimeFormat(DateTimeFormat.getFormat("MM/dd/yyyy"));
    configs.add(column);

    final ListStore<Stock> store = new ListStore<Stock>();
    store.add(TestData.getStocks());

    ColumnModel cm = new ColumnModel(configs);

    ContentPanel cp = new ContentPanel();
    cp.setBodyBorder(false);
    cp.setIcon(Resources.ICONS.table());
    cp.setHeading("Widget Renderer Grid");
    cp.setButtonAlign(HorizontalAlignment.CENTER);
    cp.setLayout(new FitLayout());
    cp.setSize(600, 300);

    Grid<Stock> grid = new Grid<Stock>(store, cm);
    grid.setStyleAttribute("borderTop", "none");
    grid.setAutoExpandColumn("name");
    grid.setBorders(true);
    cp.add(grid);

    add(cp);
}