zoukankan      html  css  js  c++  java
  • 怎样在下拉框中显示有过滤条件的数据

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

     

    方法1

    InventTable里建立一个方法,lookupItemByItemTypeGroup

    client static void lookupItemByItemTypeGroup(FormStringControl lookupCtrl,

    ItemGroupId ItemGroupId,ItemType _ItemTYpe=ItemType::BOM)

    {

           SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(InventTable), lookupCtrl);

           //若使用方法2,则LookupCtrl 改为 this.代表当前控件

           Query query = new Query();

           QueryBuildDataSource queryBuildDataSource = query.addDataSource(tableNum(InventTable));

           QueryBuildRange queryBuildRange = queryBuildDataSource.addRange(fieldNum(InventTable, ItemGroupId));

           QueryBuildRange queryBuildRange1 = queryBuildDataSource.addRange(fieldNum(InventTable, ItemType));

           ;

           QueryBuildRange.value(ItemGroupId);//若值不是String,则需要用函数QueryValue()转换。

           QueryBuildRange1.value(enum2str(_ItemTYpe));

     

           sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId));

           sysTableLookup.addLookupfield(fieldNum(InventTable, ItemName));

     

           sysTableLookup.parmQuery(query);

           sysTableLookup.performFormLookup();

    }

     

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

    public void lookup()

    {

           // super();//注意,一定要注释,意思是不执行父类的方法而执行当前类的方法,若不注释则出现两个下拉框。

           ;

           inventtable::lookupItemByItemTypeGroup(this,'Group1',ItemType::BOM);

    }

     

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

    另外,值得注意的是:

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

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

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

  • 相关阅读:
    css mix-blend-mode 混合模式
    vue-slicksort拖拽组件
    123457123457#0#-----com.yuming.TruckCarRun01--前拼后广--大卡车游戏cym
    123457123457#0#---------com.ppGame.SeaPuzzleGame73--前拼后广--宝宝海洋拼图pp
    123457123456#0#-----com.yuming.FromPuzzleGame01--前拼后广--宝宝农场拼图cym
    iOS中NSTimer的使用
    ios排序NSArray(数字.字符串)
    Github排名靠前的iOS库
    mac命令强制清空废纸篓
    我的iOS动画01
  • 原文地址:https://www.cnblogs.com/Fandyx/p/2761598.html
Copyright © 2011-2022 走看看