zoukankan      html  css  js  c++  java
  • 在下拉框中选择数据

    比如要在下拉框中显示ItemID,但是只显示ItemGroup='Group1' 且 ItemType='Bom'的物项,那么传统的使用扩展类型的方法就不使用了,因为扩展类型不能动态传递参数(Itemgroup和ITEMTYPE)。

    第一步,在InventTable里建立一个方法,lookupItemByItemTypeGroup。

     1 client static void lookupItemByItemTypeGroup(FormStringControl lookupCtrl,ItemGroupId ItemGroupId,ItemType _ItemTYpe=ItemType::BOM)
     2 {
     3     SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(InventTable), lookupCtrl);
     4     //若使用方法2,则LookupCtrl 改为 this.代表当前控件
     5     Query query = new Query();
     6     QueryBuildDataSource queryBuildDataSource = query.addDataSource(tableNum(InventTable));
     7     QueryBuildRange queryBuildRange           = queryBuildDataSource.addRange(fieldNum(InventTable, ItemGroupId));
     8     QueryBuildRange queryBuildRange1          = queryBuildDataSource.addRange(fieldNum(InventTable, ItemType));
     9     ;
    10     QueryBuildRange.value(ItemGroupId);//若值不是String,则需要用函数QueryValue()转换。
    11     QueryBuildRange1.value(enum2str(_ItemTYpe));
    12  
    13     sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId));
    14     sysTableLookup.addLookupfield(fieldNum(InventTable, ItemName));
    15  
    16     sysTableLookup.parmQuery(query);
    17     sysTableLookup.performFormLookup();
    18 }

    第二步,重载下拉框的lookup的方法。

    1 public void lookup()
    2 {
    3      // super();//注意,一定要注释,意思是不执行父类的方法而执行当前类的方法,若不注释则出现两个下拉框。
    4      ;
    5      inventtable::lookupItemByItemTypeGroup(this, 'Group1', ItemType::BOM);
    6 }

    另一方法,就是直接在控件的lookup方法下写上面的代码,这样就没有扩展性,但是有的时候还是可以选择。

    另外,值得注意的是:

    当下拉框需要从多个表过滤条件时,上面的方法就不起作用了。这个时候,我们需要建立一个View,然后把view当作表使用上面的方法,就可以实现了。

    比如我们要在下拉框中选择工单,条件是ITemGroupID是"Group1"的物项,这样就需要关联两个表,过滤Inventtable的ItemGroupID.

    若有问题可以提问,我再回答,但是,只要自己思考一下的话,一般不是问题。

  • 相关阅读:
    渣渣菜鸡的蚂蚁金服面试经历(一)
    20 个案例教你在 Java 8 中如何处理日期和时间?
    Spring Boot 2.0系列文章(七):SpringApplication 深入探索
    分布式锁看这篇就够了
    Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
    20135337朱荟潼——实验三
    20135337朱荟潼Java实验报告二
    5337朱荟潼Java实验报告一
    Linux内核设计笔记12——内存管理
    Linux内核设计笔记11——定时器
  • 原文地址:https://www.cnblogs.com/Jinnchu/p/2663964.html
Copyright © 2011-2022 走看看