zoukankan      html  css  js  c++  java
  • AX 2012 的Lookup Forms

    Lookup form 可以帮助你从已有的数据中选择想要的值。而不用可以转去主档搜索是否存在。

    在有Lookup form 的控件上点下拉按钮,就会展示lookup form , 通常看到的是一个 grid展示的数据集或者是一个小的form(事先在AOT上已经设计好的小form)。

    note: 出现在Lookup Form 上面的数据都是只读的。

    在系统中可以用到Lookup Form 的控件:

    • DateEdit

    • GuidEdit

    • Int64Edit

    • IntEdit

    • RealEdit

    • ReferenceGroup

    • StringEdit

    • TimeEdit

    控件是否启用lookup 按住,通过控件的“LookupButton”属性控制。

    给一个控件加lookup功能,第一步将控件“LookupButton”属性设置为Auto。 若该控件的数据类型来源自一个有主档的数据源(如ItemId 来源主档是InventTable),则该控件自动回带上Lookup 按钮。

    Lookup Form 的类型

     1. 由系统自动产生的Standard Lookup Form

       Standard Lookup Form 用一个Grid来展示可选数据,Grid 上面所有字段来自关联表的DataGroup.

     2.  Extended Data Types with Lookup Forms
          为EDT 设置“FormHelp”属性,指定为AOT 上已存在的一个Form,该form将自动作为EDT的Lookup Form.

    3.  Run-Time Lookup Form.

         运行是用X++代码动态创建的Form 做Lookup Form.
         重写控件或者数据源字段删的lookup或  lookupReference 方法,

    public Common lookupReference(FormReferenceControl _formReferenceControl)
    {
        //Common ret;
        
        //ret = super(_formReferenceControl);
        
        //return ret;
    
        HcmWorker worker;
        Query lookupQuery;
        SysReferenceTableLookup sysTableLookup = SysReferenceTableLookup::newParameters(tableNum(HcmWorker), _formReferenceControl, true);
        sysTableLookup.addLookupMethod(“Name”); 
        sysTableLookup.addLookupfield(fieldNum(HcmWorker, PersonnelNumber));
        lookupQuery = new Query();
        lookupQuery.addDataSource(tableNum(HcmWorker)); 
        
        sysTableLookup.parmQuery(lookupQuery);
        worker = sysTableLookup.performFormLookup();
        return worker;
    }
    View Code


          用一个已有的Form替换EDT原来的lookup form.

    public void lookup()
    {
        FormRun formRun;
        Args args;
        
        args = new Args("CustTable");
        formRun = classFactory::formRunClassOnClient(args);
        formRun.init();
        this.performFormLookup(formRun);
    }
    View Code

      

  • 相关阅读:
    js 基于函数伪造的方式实现继承
    js 创建List<Map> 这种格式的集合
    微信get post请求到微信服务器 模版 素材操作
    微信开发学习 问题1: 网页授权问题 “该连接无法访问” 解决方法
    Jackson 高性能的JSON处理 ObjectMapper
    baseDao 使用spring3+hibernate4方式
    PropertiesUtil 读取配置文件工具类
    C语言(函数)学习之strstr strcasestr
    命令行选项解析函数(C语言):getopt()和getopt_long()
    AE插件开发的一些总结
  • 原文地址:https://www.cnblogs.com/sxypeace/p/7248903.html
Copyright © 2011-2022 走看看