EAS BOS 绑定QUERY的列表界面,代码添加合计脚

来源:互联网 发布:影视类毕业设计 知乎 编辑:程序博客网 时间:2024/05/29 16:58

在executQuery()方法中调用。(可以参考com.kingdee.eas.scm.common.client. MaterialQueryListUI)  @Override  protected boolean isFootVisible() {      return true;  }    protected IRow appendFootRow() throws Exception  {          if(!isFootVisible())              return null;          Object footVisible = getUIContext().get("SumVisible");          if(footVisible != null && !Boolean.valueOf(footVisible.toString()).booleanValue())              return null;          java.util.List fieldSumList;          IRowSet singleRowSet;          fieldSumList = getFieldSumList();          if(fieldSumList.size() <= 0)          abort();          QueryFieldInfo fieldInfo[] = new QueryFieldInfo[fieldSumList.size()];          System.arraycopy(((Object) (fieldSumList.toArray())), 0, fieldInfo, 0, fieldSumList.size());          IQueryExecutor iexec = getQueryExecutor(mainQueryPK, getEntityViewInfo());          singleRowSet = iexec.sum(fieldInfo);          if(singleRowSet == null)              return null;          try          {              singleRowSet.next();              IRow footRow = null;              KDTFootManager footRowManager = detailTable.getFootManager();              if(footRowManager == null)              {                  String total = EASResource.getString("com.kingdee.eas.framework.FrameWorkResource.Msg_Total");                  footRowManager = new KDTFootManager(detailTable);                  footRowManager.addFootView();                  detailTable.setFootManager(footRowManager);                  footRow = footRowManager.addFootRow(0);                  footRow.getStyleAttributes().setHorizontalAlign(com.kingdee.bos.ctrl.kdf.util.style.Styles.HorizontalAlignment.getAlignment("right"));                  detailTable.getIndexColumn().setWidthAdjustMode((short)1);                  detailTable.getIndexColumn().setWidth(30);                  footRowManager.addIndexText(0, total);              } else              {                  footRow = footRowManager.getFootRow(0);              }              String colFormat = "%{0.##########}f";              int columnCount = detailTable.getColumnCount();              for(int c = 0; c < columnCount; c++)              {                  String fieldName = detailTable.getColumn(c).getFieldName();                  for(int i = 0; i < fieldSumList.size(); i++)                  {                      QueryFieldInfo info = (QueryFieldInfo)fieldSumList.get(i);                      String name = info.getName();                      if(name.equalsIgnoreCase(fieldName))                      {                          ICell cell = footRow.getCell(c);                          cell.getStyleAttributes().setNumberFormat(colFormat);                          cell.getStyleAttributes().setHorizontalAlign(com.kingdee.bos.ctrl.kdf.util.style.Styles.HorizontalAlignment.getAlignment("right"));                          cell.getStyleAttributes().setFontColor(Color.BLACK);                          cell.setValue(singleRowSet.getBigDecimal(name));                      }                  }                 }                 footRow.getStyleAttributes().setBackground(new Color(246, 246, 191));              return footRow;          }          catch(Exception E)          {              E.printStackTrace();          }          return null;      }  

原创粉丝点击