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