maximo 自定义高级数据选择对话框(非表域实现)
生活随笔
收集整理的這篇文章主要介紹了
maximo 自定义高级数据选择对话框(非表域实现)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.定義彈出式窗口頁面控制類
? 繼承自 psdi.webclient.system.beans.DataBean類
? 在其,實現兩個方法
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)); //對選擇數據進行處理
????????????? mbo.getThisMboSet().save();
????????? }
??? ??? return 1;
??? }
??? //返回數據
??? 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.修改對像,增加數據處理方法
? 在cust.app.fuelverify.XXXRemote 中定義方法
????? public int selectpoline(MboRemote mboRemote) throws MXException, RemoteException
??? ??
? 在 cust.app.fuelverify.XXX 中實現方法
?
? ??? 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.定義彈出式窗口布局
? 在應用程序設計器中,找到應用,導出XML文件,
?
? 在導出的XML文件中,添加窗口定義
?? <dialog id="flexdialog" label="XXX window caption" relationship="ralationship" beanclass="classname" >
??? id="flexdialog"? 此屬性表示dialog ID名,也是界面事件調用事件名稱
??? label="XXX window caption" 此屬性表示窗口名
??? relationship="ralationship" 表示關系名
??? 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定義后,導入系統中。
?
4.在頁上面添加一button 用來觸發事件。
? 在其事故中,寫上對第二步中的dialog id="flexdialog" 中的內容,本例中flexdialog
? 保存
?
5.修改或增加一個服務
? 在服務中,增加一個返回值為數據集(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;
? }
?
? 實現:
? 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;
??? }
}
編譯不出錯后,生成stub
將class上傳至相關目錄
6.修改服務
? 登錄數據中,打開maxservice表
? 找到PO服務,修改服務類名指向我們新建的類
7.打包,發布
? 繼承自 psdi.webclient.system.beans.DataBean類
? 在其,實現兩個方法
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)); //對選擇數據進行處理
????????????? mbo.getThisMboSet().save();
????????? }
??? ??? return 1;
??? }
??? //返回數據
??? 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.修改對像,增加數據處理方法
? 在cust.app.fuelverify.XXXRemote 中定義方法
????? public int selectpoline(MboRemote mboRemote) throws MXException, RemoteException
??? ??
? 在 cust.app.fuelverify.XXX 中實現方法
?
? ??? 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.定義彈出式窗口布局
? 在應用程序設計器中,找到應用,導出XML文件,
?
? 在導出的XML文件中,添加窗口定義
?? <dialog id="flexdialog" label="XXX window caption" relationship="ralationship" beanclass="classname" >
??? id="flexdialog"? 此屬性表示dialog ID名,也是界面事件調用事件名稱
??? label="XXX window caption" 此屬性表示窗口名
??? relationship="ralationship" 表示關系名
??? 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定義后,導入系統中。
?
4.在頁上面添加一button 用來觸發事件。
? 在其事故中,寫上對第二步中的dialog id="flexdialog" 中的內容,本例中flexdialog
? 保存
?
5.修改或增加一個服務
? 在服務中,增加一個返回值為數據集(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;
? }
?
? 實現:
? 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;
??? }
}
編譯不出錯后,生成stub
將class上傳至相關目錄
6.修改服務
? 登錄數據中,打開maxservice表
? 找到PO服務,修改服務類名指向我們新建的類
7.打包,發布
轉載于:https://www.cnblogs.com/kevinhlj/archive/2008/10/28/1321194.html
總結
以上是生活随笔為你收集整理的maximo 自定义高级数据选择对话框(非表域实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 米家如何添加设备(大米有哪些分类)
- 下一篇: 洛克王国拉尔夫在哪