EAS BOS 綁定QUERY的列表介面,代碼添加合計腳

來源:互聯網
上載者:User

在executQuery()方法中調用。(可以參考com.kingdee.eas.scm.common.client. MaterialQueryListUI)

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;    }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.