List of usage examples for com.google.gwt.i18n.client NumberFormat format
public String format(Number number)
From source file:com.laskysoftware.GXTPagingGrid.client.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, "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//www.ja v a 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(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.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); new Resizable(root, Dir.E, Dir.SE, Dir.S); 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.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.laskysoftware.GXTPagingGrid.client.GridExampleLocking.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// w ww . j a va 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, ?>>(); //Remove name from main set of columns //l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); //create two column models, one for the locked section ColumnModel<Stock> lockedCm = new ColumnModel<Stock>( Collections.<ColumnConfig<Stock, ?>>singletonList(nameCol)); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); root = new ContentPanel(); root.setHeadingText("Locked Grid Sample"); root.setPixelSize(600, 300); 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); } }); //locked grid final Grid<Stock> lockedGrid = new Grid<Stock>(store, lockedCm) { @Override protected Size adjustSize(Size size) { //this is a tricky part - convince the grid to draw just slightly too wide //and so push the scrollbar out of sight return new Size(size.getWidth() + XDOM.getScrollBarWidth() - 1, size.getHeight()); } }; lockedGrid.setView(new GridView<Stock>() { { this.scrollOffset = 0; } }); //require columns to always fit, preventing scrollbar lockedGrid.getView().setForceFit(true); //main grid, with horiz scrollbar final Grid<Stock> grid = new Grid<Stock>(store, cm); //don't want this feature, want to encourage horizontal scrollbars //grid.getView().setAutoExpandColumn(nameCol); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); grid.setBorders(false); grid.setColumnReordering(true); grid.setStateful(true); grid.setStateId("gridExample"); //link scrolling lockedGrid.addBodyScrollHandler(new BodyScrollHandler() { @Override public void onBodyScroll(BodyScrollEvent event) { grid.getView().getScroller().scrollTo(ScrollDirection.TOP, event.getScrollTop()); } }); grid.addBodyScrollHandler(new BodyScrollHandler() { @Override public void onBodyScroll(BodyScrollEvent event) { lockedGrid.getView().getScroller().scrollTo(ScrollDirection.TOP, event.getScrollTop()); } }); HorizontalLayoutContainer gridWrapper = new HorizontalLayoutContainer(); root.setWidget(gridWrapper); //add locked column, only 300px wide (in this example, use layouts to change how this works HorizontalLayoutData lockedColumnLayoutData = new HorizontalLayoutData(300, 1.0); //this is optional - without this, you get a little offset issue at the very bottom of the non-locked grid lockedColumnLayoutData.setMargins(new Margins(0, 0, XDOM.getScrollBarWidth(), 0)); gridWrapper.add(lockedGrid, lockedColumnLayoutData); //add non-locked section, taking up all remaining width gridWrapper.add(grid, new HorizontalLayoutData(1.0, 1.0)); } return root; }
From source file:com.lushprojects.circuitjs1.client.CircuitElm.java
License:Open Source License
static String myGetUnitText(double v, String u, boolean sf) { NumberFormat s; String sp = ""; if (sf)/*from w w w. j av a2 s. c o m*/ s = shortFormat; else { s = showFormat; sp = " "; } double va = Math.abs(v); if (va < 1e-14) // this used to return null, but then wires would display "null" with 0V return "0" + sp + u; if (va < 1e-9) return s.format(v * 1e12) + sp + "p" + u; if (va < 1e-6) return s.format(v * 1e9) + sp + "n" + u; if (va < 1e-3) return s.format(v * 1e6) + sp + CirSim.muString + u; if (va < 1) return s.format(v * 1e3) + sp + "m" + u; if (va < 1e3) return s.format(v) + sp + u; if (va < 1e6) return s.format(v * 1e-3) + sp + "k" + u; if (va < 1e9) return s.format(v * 1e-6) + sp + "M" + u; return s.format(v * 1e-9) + sp + "G" + u; }
From source file:com.lushprojects.circuitjs1.client.element.CircuitElm.java
License:Open Source License
static String myGetUnitText(double v, String u, boolean sf) { NumberFormat s; if (sf)/*from w w w . j a va 2 s.c o m*/ s = shortFormat; else s = showFormat; double va = Math.abs(v); if (va < 1e-14) return "0 " + u; if (va < 1e-9) return s.format(v * 1e12) + " p" + u; if (va < 1e-6) return s.format(v * 1e9) + " n" + u; if (va < 1e-3) return s.format(v * 1e6) + " " + Gui.muString + u; if (va < 1) return s.format(v * 1e3) + " m" + u; if (va < 1e3) return s.format(v) + " " + u; if (va < 1e6) return s.format(v * 1e-3) + " k" + u; if (va < 1e9) return s.format(v * 1e-6) + " M" + u; return s.format(v * 1e-9) + " G" + u; }
From source file:com.mecatran.otp.gwt.client.view.PrintWidgetWindowImpl.java
License:Open Source License
private List<String> getMapUrl(Wgs84LatLonBean[] path) { final int MAP_PATH_SIZE = 100; NumberFormat dec5Format = NumberFormat.getFormat("#.00000"); List<String> retval = new ArrayList<String>(); int n = (path.length - 1) / MAP_PATH_SIZE + 1; int m = path.length / n + 1; int js = 0;/*from w ww .j av a2 s . co m*/ for (int i = 0; i < n; i++) { StringBuilder urlBuilder = new StringBuilder(); int je = js + m; if (je > path.length) je = path.length; boolean start = i == 0; boolean end = je == path.length; urlBuilder.append( "http://maps.googleapis.com/maps/api/staticmap?sensor=false&scale=2&size=800x800&maptype=roadmap"); if (start) urlBuilder.append("&markers=").append(dec5Format.format(path[0].getLat())).append(",") .append(dec5Format.format(path[0].getLon())); if (end && !start) urlBuilder.append("&markers="); else urlBuilder.append("|"); if (end) urlBuilder.append(dec5Format.format(path[path.length - 1].getLat())).append(",") .append(dec5Format.format(path[path.length - 1].getLon())); urlBuilder.append("&path=color:blue|enc:"); Wgs84LatLonBean[] subPath = new Wgs84LatLonBean[je - js]; // GWT does not have Arrays.copyOfRange() ... for (int k = js; k < je; k++) { subPath[k - js] = path[k]; } urlBuilder.append(PolylineEncoder.encode(subPath)); retval.add(urlBuilder.toString()); js = je; } assert (js == path.length); return retval; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.CheckBoxGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); IdentityValueProvider<Stock> identity = new IdentityValueProvider<Stock>(); final CheckBoxSelectionModel<Stock> sm = new CheckBoxSelectionModel<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. j a v a2 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(sm.getColumn()); 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()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("CheckBox Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(600, 320); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.setSelectionModel(sm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); ToolBar toolBar = new ToolBar(); 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("Multi"); type.add("Simple"); type.setValue("Multi"); type.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { boolean simple = event.getValue().equals("Simple"); sm.deselectAll(); sm.setSelectionMode(simple ? SelectionMode.SIMPLE : SelectionMode.MULTI); } }); toolBar.add(type); VerticalLayoutContainer con = new VerticalLayoutContainer(); cp.setWidget(con); con.add(toolBar, new VerticalLayoutData(1, -1)); con.add(grid, new VerticalLayoutData(1, 1)); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.FilterGridExample.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(), 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 ww . j av a 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"))); ColumnConfig<Stock, Boolean> splitCol = new ColumnConfig<Stock, Boolean>(props.split(), 75, "Split"); splitCol.setCell(new AbstractCell<Boolean>() { @Override public void render(Context context, Boolean value, SafeHtmlBuilder sb) { sb.appendHtmlConstant(value ? "Yes" : "No"); } }); ColumnConfig<Stock, String> typeCol = new ColumnConfig<Stock, String>(props.industry(), 75, "Type"); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); l.add(splitCol); l.add(typeCol); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("Filter Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(700, 300); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); ListStore<String> typeStore = new ListStore<String>(new ModelKeyProvider<String>() { @Override public String getKey(String item) { return item; } }); typeStore.add("Auto"); typeStore.add("Media"); typeStore.add("Medical"); typeStore.add("Tech"); NumericFilter<Stock, Double> lastFilter = new NumericFilter<Stock, Double>(props.last(), new DoublePropertyEditor()); StringFilter<Stock> nameFilter = new StringFilter<Stock>(props.name()); DateFilter<Stock> dateFilter = new DateFilter<Stock>(props.lastTrans()); BooleanFilter<Stock> booleanFilter = new BooleanFilter<Stock>(props.split()); ListFilter<Stock, String> listFilter = new ListFilter<Stock, String>(props.industry(), typeStore); GridFilters<Stock> filters = new GridFilters<Stock>(); filters.initPlugin(grid); filters.setLocal(true); filters.addFilter(lastFilter); filters.addFilter(nameFilter); filters.addFilter(dateFilter); filters.addFilter(booleanFilter); filters.addFilter(listFilter); cp.setWidget(grid); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.GridUiBinderExample.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, "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// ww w. jav 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); cm = new ColumnModel<Stock>(l); store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); Widget component = uiBinder.createAndBindUi(this); view.setAutoExpandColumn(nameCol); return component; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.RemoteFilterGridExample.java
License:sencha.com license
@Override public Widget asWidget() { if (root == null) { final ExampleServiceAsync service = GWT.create(ExampleService.class); ListStore<Stock> store = new ListStore<Stock>(props.key()); RpcProxy<FilterPagingLoadConfig, PagingLoadResult<Stock>> proxy = new RpcProxy<FilterPagingLoadConfig, PagingLoadResult<Stock>>() { @Override/*from ww w . j a v a 2s . co m*/ public void load(FilterPagingLoadConfig loadConfig, AsyncCallback<PagingLoadResult<Stock>> callback) { service.getStocks(loadConfig, callback); } }; final PagingLoader<FilterPagingLoadConfig, PagingLoadResult<Stock>> remoteLoader = new PagingLoader<FilterPagingLoadConfig, PagingLoadResult<Stock>>( proxy) { @Override protected FilterPagingLoadConfig newLoadConfig() { return new FilterPagingLoadConfigBean(); } }; remoteLoader.setRemoteSort(true); remoteLoader.addLoadHandler( new LoadResultListStoreBinding<FilterPagingLoadConfig, Stock, PagingLoadResult<Stock>>(store)); 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 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"))); ColumnConfig<Stock, Boolean> splitCol = new ColumnConfig<Stock, Boolean>(props.split(), 75, "Split"); splitCol.setCell(new AbstractCell<Boolean>() { @Override public void render(Context context, Boolean value, SafeHtmlBuilder sb) { sb.appendHtmlConstant(value ? "Yes" : "No"); } }); ColumnConfig<Stock, String> typeCol = new ColumnConfig<Stock, String>(props.industry(), 75, "Type"); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); l.add(splitCol); l.add(typeCol); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); root = new ContentPanel(); root.setHeadingText("Remote Filter Grid"); root.getHeader().setIcon(ExampleImages.INSTANCE.table()); root.setPixelSize(700, 300); root.addStyleName("margin-10"); new Resizable(root); final Grid<Stock> grid = new Grid<Stock>(store, cm) { @Override protected void onAfterFirstAttach() { super.onAfterFirstAttach(); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { remoteLoader.load(); } }); } }; grid.setLoader(remoteLoader); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); ListStore<String> typeStore = new ListStore<String>(new ModelKeyProvider<String>() { @Override public String getKey(String item) { return item; } }); typeStore.add("Auto"); typeStore.add("Media"); typeStore.add("Medical"); typeStore.add("Tech"); NumericFilter<Stock, Double> lastFilter = new NumericFilter<Stock, Double>(props.last(), new DoublePropertyEditor()); StringFilter<Stock> nameFilter = new StringFilter<Stock>(props.name()); DateFilter<Stock> dateFilter = new DateFilter<Stock>(props.lastTrans()); BooleanFilter<Stock> booleanFilter = new BooleanFilter<Stock>(props.split()); ListFilter<Stock, String> listFilter = new ListFilter<Stock, String>(props.industry(), typeStore); GridFilters<Stock> filters = new GridFilters<Stock>(remoteLoader); filters.initPlugin(grid); filters.addFilter(lastFilter); filters.addFilter(nameFilter); filters.addFilter(dateFilter); filters.addFilter(booleanFilter); filters.addFilter(listFilter); VerticalLayoutContainer con = new VerticalLayoutContainer(); final PagingToolBar toolBar = new PagingToolBar(25); toolBar.bind(remoteLoader); con.add(grid, new VerticalLayoutData(1, 1)); con.add(toolBar, new VerticalLayoutData(1, -1)); root.setWidget(con); } return root; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.RowExpanderGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); IdentityValueProvider<Stock> identity = new IdentityValueProvider<Stock>(); final String desc = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna.<br/><br/>Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit."; RowExpander<Stock> expander = new RowExpander<Stock>(identity, new AbstractCell<Stock>() { @Override//from ww w. j a v a 2 s. c o m public void render(Context context, Stock value, SafeHtmlBuilder sb) { sb.appendHtmlConstant("<p style='margin: 5px 5px 10px'><b>Company:</b>" + value.getName() + "</p>"); sb.appendHtmlConstant("<p style='margin: 5px 5px 10px'><b>Summary:</b> " + desc); } }); 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 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(expander); 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()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("RowExpander Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(600, 320); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); expander.initPlugin(grid); cp.setWidget(grid); return cp; }