private void insertRankTableRow(int row, final AccountInfo info) { NumberFormat fmt = NumberFormat.getFormat("#,##0.00"); rankGrid.setWidget(row, 0, new Label(String.valueOf(row))); rankGrid.getCellFormatter().addStyleName(row, 0, "textCell"); rankGrid.setWidget(row, 1, new Label(info.getDisplayName())); rankGrid.getCellFormatter().addStyleName(row, 1, "textCell"); rankGrid.setWidget(row, 2, new Label(fmt.format(info.getIntialPrincipal()))); rankGrid.getCellFormatter().addStyleName(row, 2, "numericCell"); rankGrid.setWidget(row, 3, new Label(fmt.format(info.getLeftCapitical()))); rankGrid.getCellFormatter().addStyleName(row, 3, "numericCell"); rankGrid.setWidget(row, 4, new Label(fmt.format(info.getStockValue()))); rankGrid.getCellFormatter().addStyleName(row, 4, "numericCell"); rankGrid.setWidget(row, 5, new Label(fmt.format(info.getTotalValue()))); rankGrid.getCellFormatter().addStyleName(row, 5, "numericCell"); rankGrid.setWidget(row, 6, new Label(fmt.format(info.getProfit()))); rankGrid.getCellFormatter().addStyleName(row, 6, "numericCell"); rankGrid.setWidget(row, 7, new Label(fmt.format(info.getProfitPct()) + "%")); rankGrid.getCellFormatter().addStyleName(row, 7, "numericCell"); if (info.getProfit() > 0) { rankGrid.getCellFormatter().removeStyleName(row, 7, "negativeChange"); rankGrid.getCellFormatter().addStyleName(row, 7, "positiveChange"); rankGrid.getCellFormatter().removeStyleName(row, 6, "negativeChange"); rankGrid.getCellFormatter().addStyleName(row, 6, "positiveChange"); } else if (info.getProfit() < 0) { rankGrid.getCellFormatter().removeStyleName(row, 7, "positiveChange"); rankGrid.getCellFormatter().addStyleName(row, 7, "negativeChange"); rankGrid.getCellFormatter().removeStyleName(row, 6, "positiveChange"); rankGrid.getCellFormatter().addStyleName(row, 6, "negativeChange"); } else { rankGrid.getCellFormatter().removeStyleName(row, 7, "positiveChange"); rankGrid.getCellFormatter().removeStyleName(row, 7, "negativeChange"); rankGrid.getCellFormatter().removeStyleName(row, 6, "positiveChange"); rankGrid.getCellFormatter().removeStyleName(row, 6, "negativeChange"); } if (info.getTotalValue() != 0) { rankGrid.setWidget( row, 8, new Label(fmt.format(100.0 * info.getStockValue() / info.getTotalValue()) + "%")); } else { rankGrid.setWidget(row, 8, new Label("--")); } rankGrid.getCellFormatter().addStyleName(row, 8, "numericCell"); Anchor link = new Anchor("交易记录"); rankGrid.setWidget(row, 9, link); link.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { showTransHistory(info.getUsername(), info.getDisplayName()); } }); rankGrid.getCellFormatter().addStyleName(row, 9, "textCell"); Anchor positionBtn = new Anchor("当前持仓"); rankGrid.setWidget(row, 10, positionBtn); positionBtn.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { showPosition(info.getUsername(), info.getDisplayName()); } }); rankGrid.getCellFormatter().addStyleName(row, 10, "textCell"); }