コード例 #1
0
ファイル: ManagePanel.java プロジェクト: funnyData/mock-stock
  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");
  }