EAS Bos 合計行代碼

來源:互聯網
上載者:User
/**  * 功能:添加合計行  *   * @param table  *            指定的KDTable  * @param fields  *            需要合計的列  */  public static void apendFootRow(KDTable table, String fields[]) {   int size = fields.length;   if (size == 0)    return;   Map sumValue = new HashMap();   // 利用getRowCount的到的行可能不正確    int count = table.getRowCount3();     for (int i = 0; i < fields.length; i++) {    sumValue.put(fields[i], new BigDecimal("0.00"));   }   IRow footRow = null;   KDTFootManager footManager = table.getFootManager();   if (footManager == null) {    footManager = new KDTFootManager(table);    footManager.addFootView();    table.setFootManager(footManager);   }   // 計算所有指定行的合計值    footRow = footManager.getFootRow(0);   for (int i = 0; i < count; i++) {    IRow row = table.getRow(i);    for (int j = 0; j < fields.length; j++) {     sumValueForCell(row, fields[j], sumValue);    }   }     if (footRow == null) {    footRow = footManager.addFootRow(0);   }   // 設定合計行顯示樣式    String colFormat = "%{0.00}f";     String total = EASResource.getString(FrameWorkClientUtils.strResource     + "Msg_Total");     table.getIndexColumn().setWidthAdjustMode(KDTIndexColumn.WIDTH_MANUAL);   table.getIndexColumn().setWidth(30);   footManager.addIndexText(0, total);   footRow.getStyleAttributes().setBackground(new Color(0xf6, 0xf6, 0xbf));   for (int i = 0; i < size; i++) {    String colName = fields[i];    footRow.getCell(colName).getStyleAttributes().setNumberFormat(      colFormat);    footRow.getCell(colName).getStyleAttributes().setHorizontalAlign(      HorizontalAlignment.RIGHT);    footRow.getCell(colName).getStyleAttributes().setFontColor(      Color.black);   }     // 設定合計行的值    for (int i = 0; i < fields.length; i++) {    footRow.getCell(fields[i]).setValue(sumValue.get(fields[i]));   }  }    private static void sumValueForCell(IRow row, String key, Map sumValue) {    ICell cell = row.getCell(key);      if (cell != null) {     Object obj = cell.getValue();     if (obj != null) {      BigDecimal keyValue = (BigDecimal) sumValue.get(key);      keyValue = keyValue.add(new BigDecimal(obj.toString()));      sumValue.put(key, keyValue);     }    }   }  

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.