X++双向关联查询数据,初始化下拉选项

static client void lookupInfuseBOMId(FormStringControl   _ctrl,ItemId _itemId)


{

   //传入要查询的表
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters(tablenum(BomTable), _ctrl);
    Query                   query;
    QueryBuildDataSource    queryBuildDataSource;
    QueryBuildDataSource    queryBuildDataSourceSite;
    QueryBuildDataSource    qbdBomVersion;

    QueryBuildRange         queryBuildRange;
    QueryBuildRange         qbrVesionRange;
    ;
    query = new Query();

    queryBuildDataSource = query.addDataSource(tablenum(BomTable));

    qbdBomVersion=queryBuildDataSource.addDataSource(tablenum(BomVersion));
    qbdBomVersion.joinMode(JoinMode::ExistsJoin);
    qbdBomVersion.addLink(fieldnum(BomTable,BomId),fieldnum(BomVersion,BomId));

    queryBuildDataSourceSite = qbdBomVersion.addDataSource(tablenum(JaxBomType));
    queryBuildDataSourceSite.joinMode(JoinMode::ExistsJoin);
    queryBuildDataSourceSite.addLink(fieldnum(BomVersion,JaxBoMTypeId ), fieldnum(JaxBomType, JaxBoMTypeId));

    queryBuildRange=queryBuildDataSourceSite.addRange(fieldnum(JaxBomType,isInfuseWax));
    queryBuildRange.value(QueryValue(NoYes::Yes));


    qbrVesionRange=qbdBomVersion.addRange(fieldnum(BomVersion,ItemId));
    qbrVesionRange.value(_itemId);

 

    //初始化要显示的栏位

    sysTableLookup.addLookupfield(fieldnum(BomTable, BomId));
    sysTableLookup.addLookupfield(fieldnum(BomTable, Name));
    sysTableLookup.addLookupfield(fieldnum(BomTable, SiteId));
    sysTableLookup.addLookupfield(fieldnum(BomTable, ItemGroupId));
    sysTableLookup.addLookupfield(fieldnum(BomTable, JaxBOMTypeId));
    sysTableLookup.addLookupfield(fieldnum(BomTable, JaxGoldContentId));
    sysTableLookup.addLookupfield(fieldnum(BomTable, JaxStoneTypeId));
    sysTableLookup.addLookupfield(fieldnum(BomTable, JaxPartsTypeId));
    sysTableLookup.addLookupfield(fieldnum(BomTable, JaxEditionId));

    //return sysTableLookup;
    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();
}

 

 

  调用位置,

     重写数据源的lookup方法

public void lookup(FormControl _formControl, str _filterStr)
{
    //super(_formControl, _filterStr);
    ;
    BOMTable::lookupInfuseBOMId(_formControl,BOMVersion.ItemId);
}

 

  用户在使用下拉列表的时候就会调用此方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值