maximo 自定义高级数据选择对话框(非表域实现)
生活随笔
收集整理的這篇文章主要介紹了
maximo 自定义高级数据选择对话框(非表域实现)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.定義彈出式窗口頁面控制類
? 繼承自 psdi.webclient.system.beans.DataBean類
? 在其,實(shí)現(xiàn)兩個(gè)方法
package cust.app.beans;
import java.rmi.RemoteException;
import cust.app.fuelverify.XXXRemote;
import cust.app.po.PONewServiceRemote;
import psdi.mbo.MboSetRemote;
import psdi.util.MXException;
import psdi.util.MXSession;
import psdi.webclient.system.beans.DataBean;
public class POLineBean extends DataBean {
??? public int execute() throws MXException, RemoteException
??? {
??? ??? // TODO Auto-generated method stub
??? ??? XXXRemote mbo = null;
??? ??? mbo = (XXXRemote)app.getAppBean().getMbo(0);
????????? if(mbo != null)
????????? {
??????? ??? ? mbo.selectpoline(getMboSet().getMbo(0)); //對(duì)選擇數(shù)據(jù)進(jìn)行處理
????????????? mbo.getThisMboSet().save();
????????? }
??? ??? return 1;
??? }
??? //返回?cái)?shù)據(jù)
??? protected MboSetRemote getMboSetRemote() throws MXException, RemoteException {
???
??? ??? ??? System.out.println("POLineBean getMboSetRemote");
??? ??? ??? MboSetRemote polineset = null;
??? ??????? MXSession s = getMXSession();
??? ??????? PONewServiceRemote poService = (PONewServiceRemote)s.lookup("PO");
??? ??????? polineset=poService.getPOLinesForXXXX(app.getAppBean().getMbo(0));
??? ??????? return polineset;
??? }
}
2.修改對(duì)像,增加數(shù)據(jù)處理方法
? 在cust.app.fuelverify.XXXRemote 中定義方法
????? public int selectpoline(MboRemote mboRemote) throws MXException, RemoteException
??? ??
? 在 cust.app.fuelverify.XXX 中實(shí)現(xiàn)方法
?
? ??? public int selectpoline(MboRemote mboRemote) throws MXException, RemoteException {
??? ??? // TODO Auto-generated method stub
??? ??? if (mboRemote!=null)
??? ??? {
??? ??? setValue("PONUM",mboRemote.getString("PONUM"));
??? ??? setValue("POLINENUM",mboRemote.getString("POLINENUM"));
??? ??? save();
??? ??? }
??? ??? return 0;
??? }
?? 編譯,上傳類文件,生成stub等
??
3.定義彈出式窗口布局
? 在應(yīng)用程序設(shè)計(jì)器中,找到應(yīng)用,導(dǎo)出XML文件,
?
? 在導(dǎo)出的XML文件中,添加窗口定義
?? <dialog id="flexdialog" label="XXX window caption" relationship="ralationship" beanclass="classname" >
??? id="flexdialog"? 此屬性表示dialog ID名,也是界面事件調(diào)用事件名稱
??? label="XXX window caption" 此屬性表示窗口名
??? relationship="ralationship" 表示關(guān)系名
??? beanclass="classname"? 頁面控制類名
???? <table id="table_name" startrow="0" selectmode="multiple" inputmode="readonly" width="800" label="XXX tablename" >
?????? selectmode="multiple" 表示多選 single 表示單選
????? <tablebody id="table_name_tablebody" displayrowsperpage="20" filterexpanded="true" filterable="true" >
??????? <tablecol id="table_name_tablebody_1" type="event" mxevent="toggleselectrow" sortable="false" filterable="false" hidden="false" />
??????? <tablecol id="table_name_tablebody_2" dataattribute="顯示字段名" sortable="true" />
??????? <tablecol id="table_name_tablebody_3" dataattribute="顯示字段名" sortable="true" />
??????
????? </tablebody>
??? </table>
??? <buttongroup id="buttongroup_table" >
????? <pushbutton id="buttongroup_table1" label="確定" default="true" mxevent="dialogok" />
????? <pushbutton id="buttongroup_table2" label="取消" mxevent="dialogcancel" />
??? </buttongroup>
? </dialog>
?
? 加入上面XML定義后,導(dǎo)入系統(tǒng)中。
?
4.在頁上面添加一button 用來觸發(fā)事件。
? 在其事故中,寫上對(duì)第二步中的dialog id="flexdialog" 中的內(nèi)容,本例中flexdialog
? 保存
?
5.修改或增加一個(gè)服務(wù)
? 在服務(wù)中,增加一個(gè)返回值為數(shù)據(jù)集(MboSetRemote)的方法
? 如:
? 定義:
? package cust.app.po;
? import psdi.mbo.*;
? import psdi.util.MXException;
? import java.rmi.RemoteException;
? public interface PONewServiceRemote extends psdi.app.po.POServiceRemote
? {
??? public MboSetRemote getPOLineForXXX(MboRemote mboRemote)
??? throws MXException,RemoteException;
? }
?
? 實(shí)現(xiàn):
? package cust.app.po;
import java.rmi.RemoteException;
import java.util.Hashtable;
import java.util.Vector;
import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.mbo.SqlFormat;
import psdi.security.UserInfo;
import psdi.server.MXServer;
import psdi.util.MXException;
import psdi.app.po.POService;
public class PONewService extends POService implements PONewServiceRemote
{
??? public PONewService(MXServer arg0) throws RemoteException {
??? ??? super(arg0);
??? ??? // TODO Auto-generated constructor stub
??? }
???
??? private static final long serialVersionUID = 1L;
???
??? public MboSetRemote getPOLinesForXXXX(MboRemote mboRemote)throws MXException,RemoteException{
????????
??? ??? MboSetRemote poLineSetRemote = getMboSet("POLINE", mboRemote.getUserInfo());
??????? String poLines = "";//sql條件
???????
???????
??????? SqlFormat whereStatement = new SqlFormat(mboRemote.getUserInfo(), poLines);
??????? poLineSetRemote.setWhere(whereStatement.format());
??????? poLineSetRemote.setOrderBy("ponum, polinenum");
??????? poLineSetRemote.reset();
??????? return poLineSetRemote;
??? }
}
編譯不出錯(cuò)后,生成stub
將class上傳至相關(guān)目錄
6.修改服務(wù)
? 登錄數(shù)據(jù)中,打開maxservice表
? 找到PO服務(wù),修改服務(wù)類名指向我們新建的類
7.打包,發(fā)布
? 繼承自 psdi.webclient.system.beans.DataBean類
? 在其,實(shí)現(xiàn)兩個(gè)方法
package cust.app.beans;
import java.rmi.RemoteException;
import cust.app.fuelverify.XXXRemote;
import cust.app.po.PONewServiceRemote;
import psdi.mbo.MboSetRemote;
import psdi.util.MXException;
import psdi.util.MXSession;
import psdi.webclient.system.beans.DataBean;
public class POLineBean extends DataBean {
??? public int execute() throws MXException, RemoteException
??? {
??? ??? // TODO Auto-generated method stub
??? ??? XXXRemote mbo = null;
??? ??? mbo = (XXXRemote)app.getAppBean().getMbo(0);
????????? if(mbo != null)
????????? {
??????? ??? ? mbo.selectpoline(getMboSet().getMbo(0)); //對(duì)選擇數(shù)據(jù)進(jìn)行處理
????????????? mbo.getThisMboSet().save();
????????? }
??? ??? return 1;
??? }
??? //返回?cái)?shù)據(jù)
??? protected MboSetRemote getMboSetRemote() throws MXException, RemoteException {
???
??? ??? ??? System.out.println("POLineBean getMboSetRemote");
??? ??? ??? MboSetRemote polineset = null;
??? ??????? MXSession s = getMXSession();
??? ??????? PONewServiceRemote poService = (PONewServiceRemote)s.lookup("PO");
??? ??????? polineset=poService.getPOLinesForXXXX(app.getAppBean().getMbo(0));
??? ??????? return polineset;
??? }
}
2.修改對(duì)像,增加數(shù)據(jù)處理方法
? 在cust.app.fuelverify.XXXRemote 中定義方法
????? public int selectpoline(MboRemote mboRemote) throws MXException, RemoteException
??? ??
? 在 cust.app.fuelverify.XXX 中實(shí)現(xiàn)方法
?
? ??? public int selectpoline(MboRemote mboRemote) throws MXException, RemoteException {
??? ??? // TODO Auto-generated method stub
??? ??? if (mboRemote!=null)
??? ??? {
??? ??? setValue("PONUM",mboRemote.getString("PONUM"));
??? ??? setValue("POLINENUM",mboRemote.getString("POLINENUM"));
??? ??? save();
??? ??? }
??? ??? return 0;
??? }
?? 編譯,上傳類文件,生成stub等
??
3.定義彈出式窗口布局
? 在應(yīng)用程序設(shè)計(jì)器中,找到應(yīng)用,導(dǎo)出XML文件,
?
? 在導(dǎo)出的XML文件中,添加窗口定義
?? <dialog id="flexdialog" label="XXX window caption" relationship="ralationship" beanclass="classname" >
??? id="flexdialog"? 此屬性表示dialog ID名,也是界面事件調(diào)用事件名稱
??? label="XXX window caption" 此屬性表示窗口名
??? relationship="ralationship" 表示關(guān)系名
??? beanclass="classname"? 頁面控制類名
???? <table id="table_name" startrow="0" selectmode="multiple" inputmode="readonly" width="800" label="XXX tablename" >
?????? selectmode="multiple" 表示多選 single 表示單選
????? <tablebody id="table_name_tablebody" displayrowsperpage="20" filterexpanded="true" filterable="true" >
??????? <tablecol id="table_name_tablebody_1" type="event" mxevent="toggleselectrow" sortable="false" filterable="false" hidden="false" />
??????? <tablecol id="table_name_tablebody_2" dataattribute="顯示字段名" sortable="true" />
??????? <tablecol id="table_name_tablebody_3" dataattribute="顯示字段名" sortable="true" />
??????
????? </tablebody>
??? </table>
??? <buttongroup id="buttongroup_table" >
????? <pushbutton id="buttongroup_table1" label="確定" default="true" mxevent="dialogok" />
????? <pushbutton id="buttongroup_table2" label="取消" mxevent="dialogcancel" />
??? </buttongroup>
? </dialog>
?
? 加入上面XML定義后,導(dǎo)入系統(tǒng)中。
?
4.在頁上面添加一button 用來觸發(fā)事件。
? 在其事故中,寫上對(duì)第二步中的dialog id="flexdialog" 中的內(nèi)容,本例中flexdialog
? 保存
?
5.修改或增加一個(gè)服務(wù)
? 在服務(wù)中,增加一個(gè)返回值為數(shù)據(jù)集(MboSetRemote)的方法
? 如:
? 定義:
? package cust.app.po;
? import psdi.mbo.*;
? import psdi.util.MXException;
? import java.rmi.RemoteException;
? public interface PONewServiceRemote extends psdi.app.po.POServiceRemote
? {
??? public MboSetRemote getPOLineForXXX(MboRemote mboRemote)
??? throws MXException,RemoteException;
? }
?
? 實(shí)現(xiàn):
? package cust.app.po;
import java.rmi.RemoteException;
import java.util.Hashtable;
import java.util.Vector;
import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.mbo.SqlFormat;
import psdi.security.UserInfo;
import psdi.server.MXServer;
import psdi.util.MXException;
import psdi.app.po.POService;
public class PONewService extends POService implements PONewServiceRemote
{
??? public PONewService(MXServer arg0) throws RemoteException {
??? ??? super(arg0);
??? ??? // TODO Auto-generated constructor stub
??? }
???
??? private static final long serialVersionUID = 1L;
???
??? public MboSetRemote getPOLinesForXXXX(MboRemote mboRemote)throws MXException,RemoteException{
????????
??? ??? MboSetRemote poLineSetRemote = getMboSet("POLINE", mboRemote.getUserInfo());
??????? String poLines = "";//sql條件
???????
???????
??????? SqlFormat whereStatement = new SqlFormat(mboRemote.getUserInfo(), poLines);
??????? poLineSetRemote.setWhere(whereStatement.format());
??????? poLineSetRemote.setOrderBy("ponum, polinenum");
??????? poLineSetRemote.reset();
??????? return poLineSetRemote;
??? }
}
編譯不出錯(cuò)后,生成stub
將class上傳至相關(guān)目錄
6.修改服務(wù)
? 登錄數(shù)據(jù)中,打開maxservice表
? 找到PO服務(wù),修改服務(wù)類名指向我們新建的類
7.打包,發(fā)布
轉(zhuǎn)載于:https://www.cnblogs.com/kevinhlj/archive/2008/10/28/1321194.html
總結(jié)
以上是生活随笔為你收集整理的maximo 自定义高级数据选择对话框(非表域实现)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 米家如何添加设备(大米有哪些分类)
- 下一篇: [蛋蛋の插画]小笔“最高”>、<