List of usage examples for com.google.gwt.i18n.client NumberFormat getFormat
public static NumberFormat getFormat(String pattern)
NumberFormat
instance for the default locale using the specified pattern and the default currencyCode. 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>"; }/* w w w.j a v a 2 s. 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(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 o m 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.forms.FormsExample.java
License:Open Source License
private void createForm1() { FormPanel simple = new FormPanel(); simple.setHeading("Simple Form"); simple.setFrame(true);/*from ww w. j a v a 2s. co m*/ simple.setWidth(350); TextField<String> firstName = new TextField<String>(); firstName.setFieldLabel("Name"); firstName.setAllowBlank(false); firstName.getFocusSupport().setPreviousId(simple.getButtonBar().getId()); simple.add(firstName, formData); TextField<String> email = new TextField<String>(); email.setFieldLabel("Email"); email.setAllowBlank(false); simple.add(email, formData); List<Stock> stocks = TestData.getStocks(); Collections.sort(stocks, new Comparator<Stock>() { public int compare(Stock arg0, Stock arg1) { return arg0.getName().compareTo(arg1.getName()); } }); ListStore<Stock> store = new ListStore<Stock>(); store.add(stocks); ComboBox<Stock> combo = new ComboBox<Stock>(); combo.setFieldLabel("Company"); combo.setDisplayField("name"); combo.setTriggerAction(TriggerAction.ALL); combo.setStore(store); simple.add(combo, formData); DateField date = new DateField(); date.setFieldLabel("Birthday"); simple.add(date, formData); TimeField time = new TimeField(); time.setFieldLabel("Time"); simple.add(time, formData); Slider slider = new Slider(); slider.setMinValue(40); slider.setMaxValue(90); slider.setValue(60); slider.setIncrement(1); slider.setMessage("{0} inches tall"); final SliderField sf = new SliderField(slider); sf.setFieldLabel("Size"); simple.add(sf, formData); CheckBox check1 = new CheckBox(); check1.setBoxLabel("Classical"); CheckBox check2 = new CheckBox(); check2.setBoxLabel("Rock"); check2.setValue(true); CheckBox check3 = new CheckBox(); check3.setBoxLabel("Blue"); CheckBoxGroup checkGroup = new CheckBoxGroup(); checkGroup.setFieldLabel("Music"); checkGroup.add(check1); checkGroup.add(check2); checkGroup.add(check3); simple.add(checkGroup, formData); Radio radio = new Radio(); radio.setBoxLabel("Red"); radio.setValue(true); Radio radio2 = new Radio(); radio2.setBoxLabel("Blue"); RadioGroup radioGroup = new RadioGroup(); radioGroup.setFieldLabel("Favorite Color"); radioGroup.add(radio); radioGroup.add(radio2); simple.add(radioGroup, formData); Radio radio3 = new Radio(); radio3.setBoxLabel("Apple"); radio3.setValue(true); Radio radio4 = new Radio(); radio4.setBoxLabel("Banana"); RadioGroup radioGroup2 = new RadioGroup(); radioGroup2.setFieldLabel("Favorite Fruit"); radioGroup2.add(radio3); radioGroup2.add(radio4); simple.add(radioGroup2, formData); TextArea description = new TextArea(); description.setPreventScrollbars(true); description.setFieldLabel("Description"); simple.add(description, formData); Button b = new Button("Submit"); simple.addButton(b); simple.addButton(new Button("Cancel")); simple.setButtonAlign(HorizontalAlignment.CENTER); FormButtonBinding binding = new FormButtonBinding(simple); binding.addButton(b); SpinnerField spinnerField = new SpinnerField(); spinnerField.setIncrement(.1d); spinnerField.getPropertyEditor().setType(Double.class); spinnerField.getPropertyEditor().setFormat(NumberFormat.getFormat("00.0")); spinnerField.setFieldLabel("Duration (s)"); spinnerField.setMinValue(-10d); spinnerField.setMaxValue(10d); simple.add(spinnerField, formData); vp.add(simple); }
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 a2 s . 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>"; }// w w w . j av a2 s .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); 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>"; }/*from ww w .j a va 2 s . co 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 w w w . j av a 2 s. com*/ }; 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/*w w w.j a va 2 s . co 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/*w w w. j a v a 2 s .com*/ 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 w w. j a v a2s. 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); }