zoukankan      html  css  js  c++  java
  • Dynamics AX 4.0 多表looup

    project rar:http://files.cnblogs.com/files/sxypeace/PrivateProject_MutilTableLookupOnCtronl.rar

    在AX 中控件的looup方法需要展示多表数据的时候,需要新建一个lookupFrom ,或者将所有数据写入临时表才能达到目的。

    翻看了一下ClasssysTableLook,发现其实是动态创建form添加数据源显示控件来实现的。

    于是new了一个新的ClasssysViewLook,来实现多表lookup。

    public void lookup()
    {
    
    
        SysViewLookup       SysViewLookup = new SysViewLookup();
        query               query = new query();
        queryBuildDatasource    qbds1;
        queryBuildDatasource    qbds2;
        queryBuildDatasource    qbds3;
        ;
    
    
        //must add by desc sorting
        SysViewLookup.parmAddLookupTableId( tableNum(InventDim));
        SysViewLookup.parmAddLookupTableId( tableNum(SalesLine));
        SysViewLookup.parmAddLookupTableId( tableNum(SalesTable));
    
        qbds1 = query.addDataSource(tableNum(SalesTable));
        qbds2 = qbds1.addDataSource(tablenum(salesLine));
        qbds2.relations( true);
        qbds3 = qbds2.addDataSource(tableNum(InventDim));
        qbds3.relations(true);
    
        sysQuery::findOrCreateRange( qbds2, fieldNum(salesLine,ItemId)).value("22MA*00K");
        qbds1.addSortField( fieldNum(SalesTable,CreatedDate),SortOrder::Descending);
        qbds1.addSortField( fieldNum(SalesTable,SalesId),SortOrder::Descending);
        qbds1.addSortField( fieldNum(SalesTable,CustAccount),SortOrder::Ascending);
        qbds2.addSortField( fieldNum(SalesLine,ItemId),SortOrder::Ascending);
        qbds2.addSortField( fieldNum(InventDim,InventSizeId),SortOrder::Ascending);
    
        SysViewLookup.parmCallingControl( this);
        SysViewLookup.addLookupfield( TableNum(salesTable), fieldNum(SalesTable,CreatedDate));
        SysViewLookup.addLookupfield( TableNum(salesTable), fieldNum(SalesTable,SalesId),true);
        SysViewLookup.addLookupfield( TableNum(salesTable), fieldNum(SalesTable,CustAccount));
        SysViewLookup.addLookupfield( TableNum(SalesLine), fieldNum(SalesLine,ItemId));
        SysViewLookup.addLookupfield( TableNum(InventDim), fieldNum(InventDim,InventSizeId));
    
        SysViewLookup.parmQuery( query);
        SysViewLookup.performFormLookup();
    }
    

    附完整代码的下载地址 http://files.cnblogs.com/files/sxypeace/PrivateProject_MutilTableLookupOnCtronl.rar

     

  • 相关阅读:
    django中有外键关系两张表的相互查找方法
    Python的Django框架中forms表单类的使用方法详解
    Django 模板中 变量 过滤器 标签 的使用方法
    Django如何让未登录的用户自动跳转至登录页
    Django 前后台的数据传递
    用css实现在横线中间插入文字
    CSS控制字体在一行内显示不换行
    如何在python3环境下的Django中使用MySQL数据库
    Linux小技巧之:两种方法统计访问web网站的前10个IP
    通过explain分析低效的SQL执行计划
  • 原文地址:https://www.cnblogs.com/sxypeace/p/4872172.html
Copyright © 2011-2022 走看看