用户要求在执行某个动作之前弹出一个对话框,让他选择一些供应商,只针对这些供应商去做动作,一下就会想到用Dialog这个类去做,于是写出如下代码:

Code
static void dialogDemo(Args _args)
{
    Dialog              dialog = new Dialog();
    DialogField         dialogField;
    VendAccount         vendAccount;
    boolean             retValue;
    ;
    
    dialogField = dialog.addField(typeId(VendAccount));
    retValue = dialog.run();
    
    if(retValue)
    {
        vendAccount = dialogField.value();
        //do something else
        
    }

}

一切都看似完美,但是有个问题,只能选择一个供应商,用户要求的是选择多个供应商,控件的replaceOnLookup属性是用来控制这个的,但是dialogField没有这个方法,咋办?添上。
在类DialogField上添加方法replaceOnLookup,如下所示:

Code
void replaceOnLookup(boolean r)
{
    str name;

// If properties exists then we are on server
    if (properties)
    {
        name = #PropertyReplaceonlookup;
        if (! properties.exists(name))
            properties.add(name,true);
        properties.value(name,r);
    }
    else
        this.fieldControl().replaceOnLookup(r);
}

修改一下unpack方法,加上我们新增的属性

case #PropertyReplaceonlookup:
     this.replaceOnLookup(unpackedProperties.valueIndex(i));
     break;

这样就可以调用这个方法来改变控件的属性了。

Code
static void dialogDemo(Args _args)
{
    Dialog              dialog = new Dialog();
    DialogField         dialogField;
    VendAccount         vendAccount;
    boolean             retValue;
    ;
    
    dialogField = dialog.addField(typeId(VendAccount));
    dialogField.replaceOnLookup(false);
    retValue = dialog.run();
    
    if(retValue)
    {
        vendAccount = dialogField.value();
        //do something else
        
    }

}

效果如下图所示:

转载于:https://www.cnblogs.com/Farseer1215/archive/2009/07/16/1524594.html

【项目实施随笔】改造一下Dialog相关推荐

  1. 【项目实施随笔】销售和采购信息的打印

    虽然进入电子时代很多年,但客户和供应商之间的沟通绝大多数还是用纸质的方式,签字为准,所以如何让销售与采购的单据能灵活地打印出来就显得很重要了.AX在这方面还是下足了功夫的,虽然有时候显得没有必要设计得 ...

  2. 郎凤娥谈定西实施煤粉锅炉改造项目

    山西蓝天集团董事长郎凤娥介绍,定西市安定区渭源街热源厂工程占地面积19700平米, 在热源厂用地范围内建设锅炉间及附属设施用房.风机用房.除尘脱硫设备.煤粉储罐.灰渣储罐等建(构)筑物,另外,还将建设 ...

  3. XX集团工厂集成改造MES+SCADA数字化项目实施方案原创

    写在前面 大家好,我是小智,智能制造之家号主~ 前面我们分享了智能工厂相关的设计与规划.实施与建设相关的解决方案: 100页PPT,带你了解数字化.智能化车间规划与建设! 某智能工厂调研.规划.实施整 ...

  4. horizon流程图_项目实施流程和规范模板(测试方向)

    转自:http://blog.51cto.com/xqtesting/2052312 1. 简介 1.1 编写背景 随着公司业务的快速发展,技术部面临的基础技术研发.客户系统建设.新产品研发.老旧系统 ...

  5. 数字孪生智慧制造生产线项目实施方案,平台认知与概念

    在智能制造领域,数字孪生被认为是一种实现制造信息世界与物理世界交互融合的有效手段,通过数字孪生技术的使用,将大幅推动产品在设计.生产.维护及维修等环节的变革.基于模型.数据.服务方面的优势,数字孪生正 ...

  6. [项目管理-18]:项目实施中,项目经理、产品经理、运营经理、设计经理、技术经理、工程经理不同角色的比较

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  7. SAP 项目实施阶段全过程

    在sap实施项目的周期和步骤上,根据各公司对业务的理解不同,也被划分为各个阶段,但其中由普华永道提出的分七步走,个人觉得对刚进入这一行业的人很有帮助,接下来一起分享和讨论下: sap实施项目生命周期, ...

  8. 基于5G技术的智能导航机器人及AR巡逻应用开发项目实施方案(上)

    目录 1 项目总体概述 1.1 项目背景 1.2 建设内容 1.3 建设目标 2 项目需求理解 2.1 业务需求 2.2 功能需求 3 项目技术方案 3.1 建设方案 3.1.1 设计思路 3.1.2 ...

  9. ERP项目实施的5个关键控制点

    基于ERP系统的作用,我国企业实施ERP项目的热情越来越高,但实施失败的也不在少数,为减少实施过程中的代价.这里怡海软件提醒大家有以下几个值得注意的关键控制点. 1.项目时间表 时间表是ERP项目完成 ...

最新文章

  1. 中国唯一一座没有高楼大厦的新一线城市,也太佛了吧
  2. rabbitmq beam.smp cpu利用率过高
  3. LeetCode-26: 删除排序数组中的重复项
  4. 关于c++ template的branching和Recursion的一段很好的描述
  5. matlab循环结构
  6. RabbitMQ 最新版本 下载、部署 _rpm版本(CentOS7环境)
  7. 第一次使用mysql_第一次使用mysql,求帮忙
  8. hive 配置mysql_Hive的mysql安装配置
  9. php定时执行代码漏洞_在CTF比赛中发现的PHP远程代码执行0day漏洞
  10. php输出语句中怎么嵌套计算,PHP嵌套输出缓冲代码实例
  11. vue和Java做数据交互_基于vue和springmvc前后端分离,json类接口调用介绍
  12. 在线XML转HTML工具
  13. loadrunner之header相关,token等
  14. 暴风一号1kb病毒又称快捷方式病毒
  15. Mac 同时安装jdk7、jdk8
  16. java freemarker jxl excel_freemarker导出定制excel
  17. 小程序emijo表情的正则问题
  18. Django框架_day01
  19. 处理文档用计算机配置文件,计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的修复方案...
  20. 通用样式 -表格的每行的复选框选中打印,清除已勾选

热门文章

  1. ichartjs android,在android上动态实现ichartjs的3D柱形图
  2. android 自定义域名,Android 懒加载优化
  3. member pm.php,Dedecms 会员中心注入漏洞5
  4. notepad++查看16进制文件
  5. Pytorch1.7.1与SimpleITK2.0.0在centos7上终端运行冲突的情况
  6. python: symbol lookup error
  7. Python 机器学习 随机森林 天气最高温度预测任务(三)
  8. 【树状数组】【P4113】[HEOI2012]采花
  9. 统一返回对象和异常处理(一)
  10. 使用Java访问Mysql数据库时出现时区异常的解决方案