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.打包,发布

转载于:https://www.cnblogs.com/kevinhlj/archive/2008/10/28/1321194.html

maximo 自定义高级数据选择对话框(非表域实现)相关推荐

  1. 【若依(ruoyi)】自定义的数据选择对话框

    前言 若依(ruoyi): v4.3 mysql:5.7.31 自定义的数据选择对话框的开发说明 在"若依(ruoyi)"中,数据选择对话框可以分为2类: 树表数据的选择对话框,比 ...

  2. 【若依(ruoyi)】数据选择对话框

    前言 若依(ruoyi): v4.3 mysql:5.5.40 假设的需求 使用部门选择框,选择部门. 其它使用选择框的操作.比如:选择入库单.出库单.用户.- 分析 在"RuoYi&quo ...

  3. 数据科学 IPython 笔记本 8.14 自定义 Matplotlib:配置和样式表

    8.14 自定义 Matplotlib:配置和样式表 原文:Customizing Matplotlib: Configurations and Stylesheets 译者:飞龙 协议:CC BY- ...

  4. 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表

    前言 接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL ...

  5. php中如何上传非表单类数据,PHP Post获取不到非表单数据的问题解决办法

    问题描述 在使用vue-axios向后端post数据时,PHP端获取不到post的数据. 问题解决 修改php.ini配置 找到php.ini配置文件,查找enable_post_data_readi ...

  6. flink sql 知其所以然(二)| 自定义 redis 数据维表(附源码)

    感谢您的关注  +  点赞 + 再看,对博主的肯定,会督促博主持续的输出更多的优质实战内容!!! 1.序篇-本文结构 背景篇-为啥需要 redis 维表 目标篇-做 redis 维表的预期效果是什么 ...

  7. azure云数据库_Azure SQL数据库中的高级数据安全性–数据发现和分类

    azure云数据库 Azure SQL supports in building and managing wide range of SQL databases, tools, frameworks ...

  8. 使用SSIS包将多个Excel文件中的数据导入SQL Server表中

    This article explores an SSIS package for importing multiple Excel files data into SQL Server tables ...

  9. python 数据分析入门教程(三)_Python数据分析入门教程(三):数据选择——AIU人工智能学院-经管之家官网!...

    https://p1.pstatp.com/large/pgc-image/a6743a84f13a4f07a7ec3e9405467c6a 在上面的代码中,iloc后的方括号中逗号之前的部分表示要获 ...

最新文章

  1. Sql Server系列:数据库操作
  2. 拥抱RxJava(番外篇):关于RxJava的Tips Tricks
  3. 详解如何实现在线聊天系统中的实时消息获取
  4. 牛客小白月赛 27部分题解
  5. JsonData响应工具类封装
  6. 设置jstree只展示到2级_你做的私域流量属于什么级别?80%的商家都还只在第2级...
  7. android修改自动背光,Android LCD和键盘 背光亮度设置
  8. WinForm中TextBox的几个基本技巧
  9. 一个Query Builder,征集更好用的Query Builder的设计方案
  10. 【Linux系统压力测试】【内存压测】【CPU压测】【磁盘空间压测】
  11. 基于协同过滤算法的旅游推荐系统
  12. forms组件与Dango回顾
  13. java设计模式 建造模式_java设计模式(三)建造者模式
  14. ArcGIS——dwg与shp转换原理
  15. 阿里云ACP大数据专业认证,值得报名吗?
  16. MySQL自学笔记详细版(从安装到入门)
  17. 第三方yum源rpmforge
  18. 什么叫能力不行,什么叫术业有专攻
  19. python运维工程师前景_运维工程师的前景怎么样
  20. php海报/合同图片生成类

热门文章

  1. Java 生产者和消费者问题
  2. CNN-1: LeNet-5 卷积神经网络模型
  3. PHP 多参数方法的重构
  4. BZOJ1010 [HNOI2008]玩具装箱toy 动态规划 斜率优化
  5. innodb中master线程的调度的算法改进(mysql 5.6.26)
  6. “此图片来自微信公众平台 未经允许不可引用“ 解决办法
  7. >mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied ,被mysql连接问题折磨到问题解决,分享
  8. at java.net.urlclassloader.findclass_如何使用URLClassLoader加载* .class文件?
  9. java 多线程 交替_java 多线程–线程交替
  10. JQuery选择器中的可见性筛选