金蝶EAS重寫系統組件(CostCenterBizUnitF7)

CostCenterBizUnitF7  是一個樹形的F7選擇框,用於選擇成本中心,支持單選,多選.它和它的兄弟 CostCenterF7NoPerm,在EAS BOS屬於系統組件.java


它有一個很不方便的地方:查詢的時候默認 編碼 ,但一般咱們是根據 名稱 .這裏經過重寫組件來解決問題.this

思路是這樣的:反編譯 CostCenterBizUnitF7 類,而後在二次開發的類裏面  重寫一個 同 路徑同類名 的類,設置其默認根據 名稱 進行查詢,系統在運行時優先使用二次開發裏面的類.這樣就達到目咱們的要求了.編碼


實際操做中,經過反編譯,發現  CostCenterBizUnitF7,CostCenterF7NoPerm 的默認設置是在 構造方法  spa

com.kingdee.eas.basedata.org.client.OrgF7UI2.OrgF7UI2() 
throws Exception

中實現的,代碼以下code

        this.comboField.addItem(ImportCompayFieldsEnum.NUMBER);
        this.comboField.addItem(ImportCompayFieldsEnum.NAME);
        this.comboField.addItem(ImportCompayFieldsEnum.UNITTYPE);
        this.comboField.addItem(ImportCompayFieldsEnum.CODE);
        this.comboField.addItem(ImportCompayFieldsEnum.SIMPLENAME);
        this.comboField.addItem(ImportCompayFieldsEnum.DESRIPTION);
        this.comboField.setSelectedIndex(0);

很顯然,咱們只要設置 comboField.setSelectedIndex(1)   便可達到目的.開發


相似的思路還能夠用於重寫其它的系統組件.it

相關文章
相關標籤/搜索