创建主菜单
这个关系只有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()方法中也可以实现主从表关系。
(未完,待修改……)