創建主菜單
這個關係只有2張表:MAXMODULES和MAXMENU.
MAXMENU中,屬性MENUTYPE插入時應該選擇MODULE ,MODULEAPP指代屬性組件應用名稱這個很重要是需要和MAXMODULES中相關聯的,POSITION指代菜單的位置,感覺是隨便填寫。。。SUBPOSITION也是基本研究出來是寫0就OK。然後是ELEMENTTYPE,指代元素類型時,插入爲MODULE。KEYVALUE插入和MODULEAPP相同的名稱,只有添加在下面的應用,這裏纔是應用的名稱,後面的可以直接無視。。。最多改下圖標名稱。
Insert into MAXMENU(MENUTYPE,MODULEAPP,POSITION,SUBPOSITION,ELEMENTTYPE,KEYVALUE,HEADERDESCRIPTION,URL,VISIBLE,IMAGE,ACCESSKEY,TABDISPLAY,MAXMENUID)
VALUES ('MODULE','TEST',13177,0,'MODULE','TEST','','',1,'modimg_wo.gif','','',maxmenuseq.nextval);
接下來是MAXMODULES,因爲新設計一個應用程式的時候,需要選擇模塊 所以在這裏添加數據,能我們能選到那個模塊。注意這裏的module和MAXMENU中的MODULEAPP是想關聯的
insert intoMAXMODULES(module,Description,Maxmodulesid) values('TEST','XX管理','77')
刪除一個應用程序
MAXIMO,設計一個測試的程序就不能在界面上找到刪除應用,爛東西。
下面MOC指代應用的名稱。。
delete from maxapps where app='MOC';
delete from maxpresentation whereapp='MOC';
delete from sigoption where app='MOC';
delete from applicationauth whereapp='MOC';
delete from maxlabels where app='MOC';
delete from maxmenu where moduleapp='MOC';
delete from maxmenu where keyvalue = 'MOC';
delete from appdoctype where app = 'MOC';
創建彈出列表選項框
1、 進入MAXIMO的應用程序設計器功能,在工具欄上點擊選擇操作,選擇導出系統XML,在彈出的列表中導出LOOKUPS的XML,如下圖:
2、 點擊LOOKUPS後的導出後,將在新窗口中看到LOOKUPS的配置。將XML保存到本地,並在該文件中加入自己的彈出列表配置信息。
參考:
<table id="assetyd" inputmode="readonly"selectmode="single">
<tablebodydisplayrowsperpage="20" filterable="true"filterexpanded="true" id="assetyd_lookup_tablebody">
<tablecoldataattribute="assetydid"id="assetyd_lookup_tablebody_col_1" mxevent="selectrecord"mxevent_desc="Go To %1" sortable="true"type="link"/>
<tablecoldataattribute="description"id="assetyd_lookup_tablebody_col_2" mxevent="selectrecord"mxevent_desc="Go To %1" sortable="false"type="link"/>
</tablebody>
</table>
1) Xml節點table的id不可重複
2) Xml節點tablebody的id前綴都應爲table的id,tablebody的id後綴都應爲列數,從1開始遞增。
3) Tablebody中的dataattribute屬性應爲主對象的屬性。
3、 將配置完成後的XML上傳到服務器上,進入應用程序設計器,隨意選擇一個應用程序,進入應用程序設計工作空間,選擇工具欄上的導入應用程序定義,上傳LOOKUPS.XML文件。
4、 XML導入完成後,我們可以重新進行步驟1導出XML文件,確認我們添加的內容已成功。
應用配置的彈出列表:
1) 在需要引用彈出列表項的字段的屬性中配置,將查找配置爲我們在Lookups.xml文件中創建的table的id屬性:
2) 配置完成後如下圖:
5、 完成第4步後,就需要編寫具體的數據查詢類綁定到屬性上。這裏我們指定的屬性爲DDR_SCJSCFCZ.
參照類:
Package person.test; /** * @author 蔣偉 */ public class PersonChooseFld extends MAXTableDomain {
public PersonChooseFld(MboValue mbv) { super(mbv); setRelationship("PERSONGROUP", ""); // PERSONGROUP 爲主對象 String attriname = getMboValue().getAttributeName(); String[] as = { attriname }; String[] as1 = { "PERSONGROUPID" }; // 條件字段 setLookupKeyMapInOrder(as, as1); }
public MboSetRemote getList() throws MXException, RemoteException { MboSetRemote list = super.getList(); MboValue thisValue = getMboValue(); String where = "1=1"; //表示查詢出所有的記錄 list.reset(); return list; } } |
6、將類編譯打包並綁定到對象的屬性上。
在Mbo中取得數據庫連接
/** * 取得Mbo類,如果super.getThisMboSet().getMbo()返回對象爲Null那麼就取得當前Mbo(即this) * @author 蔣偉 * @return */ public final Mbo getMbo() { Mbo mbo = null; try { mbo = (Mbo) super.getThisMboSet().getMbo(); } catch (Exception e) { } return mbo == null ? this : null; }
/** * 取得數據庫連接對象 * @author 蔣偉 * @return */ public final Connection getConnection() { Mbo mbo = this.getMbo(); Connection conn = null; ConnectionKey connectionKey; try { connectionKey = mbo.getUserInfo().getConnectionKey(); conn = mbo.getMboServer().getDBConnection(connectionKey); } catch (RemoteException e) { e.printStackTrace(); } return conn; } |
設置文本框的詳細屬性
在對應表中的添加一個新的字段,格式爲 屬性_longdescription.例如INTRODUCTION_LONGDESCRIPTION
.
在設計器裏面該字段的查找綁定上LONGDESC:
帶值返回
在需要帶值返回的應用中創建一個相同的字段,並且將轉到應用程序中填入相關的應用
關於RowStamp
RowStamp列是利用Maximo在建立數據表時系統自動添加的字段,其值是由maximo系統自動填充,填充方式爲觸發器.
每個表都對應有自己的觸發器,其命名規則爲:表明_T
如果RowStamp不能正學輸入,那麼需查看錶所對應的trigger是否正常。
主表,從表傳值:
1.MboRemote owner=getOwner();
在從表的MBO中使用此方法可以得到主表對象,並使用主表屬性。
2.如圖:在BEAN類中綁定一個類繼承DataBean,在類的addrow()方法中也可以實現主從表關係。
(未完,待修改……)