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

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

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

于是new了一个新的Class\sysViewLook,来实现多表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

Dynamics AX 4.0 多表looup的更多相关文章

  1. Dynamics AX Hostory

    现在谈起Dynamics AX,在微软Dynamics系列产品当中,作为最受瞩目和最有前景的Dynamics套装产品线,很多人也许只知道它曾经由于资本市场的上市和并购,前后经历了三个“东家”.对于它长 ...

  2. [转]Dynamics AX and Generic collections of .Net

    转自:http://blogs.msdn.com/b/emeadaxsupport/archive/2009/04/23/dynamics-ax-and-generic-collections-of- ...

  3. 转:Microsoft Dynamics AX内部版本号概述

    Overview of Microsoft Dynamics AX build numbers 转自:https://community.dynamics.com/ax/b/axsupport/arc ...

  4. Dynamics AX 2012 的工业物联网解决方案

    Dynamics AX 2012 的工业物联网解决方案 物联网 物联网的概念在这两年非常火,包括近期很火的共享单车初创公司--摩拜单车,在产品中运用了Azure Iot物联网技术.但是,物联网并不是一 ...

  5. Dynamics AX 2012 在BI分析中建立数据仓库的必要性

    AX系统已有的BI分析架构 对于AX 的BI分析架构,相信大家都了解,可以看Reinhard之前的译文[译]Dynamics AX 2012 R2 BI系列-分析的架构 . AX 的BI分析架构的优势 ...

  6. Dynamics AX 2012 R2 如何处理运行时间较长的报表

    当处理的数据量较多,逻辑比较复杂时,报表可能会超时.为了解决这个问题,Reinhard一直使用SrsReportDataProviderPreProcess来做预处理报表.它会在调用SSRS前,在AX ...

  7. 一、Microsoft Dynamics CRM 4.0 SDK概述

    Chapter 1. Microsoft Dynamics CRM 4.0 SDK Overview(SDK概述) You are probably reading this book because ...

  8. Dynamics AX 中的图片处理

    1.从本地读取图片文件,并判断格式是否附合要求. FilenameFilter filter = [‘Image Files‘,‘*.bmp;*.jpg;*.gif;*.jpeg‘]; BinData ...

  9. Dynamics AX 2012 性能优化之 SQL Server 复制

    Dynamics AX 2012 性能优化之 SQL Server 复制 分析数据滞后 在博文 Dynamics AX 2012 在BI分析中建立数据仓库的必要性 里,Reinhard 阐述了在 AX ...

随机推荐

  1. java数组初始化的三种方式

      //第一种 int[] is= new int[3]; is[0]=1; is[1]=2; is[2]=3; //第二种 int[] is2= {1,2,3}; //第三种 int[] is3= ...

  2. android tween动画效果

    anim文件夹下 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android=&quo ...

  3. JDBC常用代码

    try { //加载驱动 Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://127.0.0 ...

  4. 离线使用echarts及一些细节

    最近要做图表,用js起来太麻烦,所以就找些开源的库来用,发现echarts挺不错, echarts的文档把所有东西都说的很明白了,直接下载zip包,要是想离线使用的话只需要引用下载包里面的dist文件 ...

  5. NodeJS常用工具

    一.NodeJS版本管理器n或者nvm npm install -g n npm install n -g --registry=https://registry.npm.taobao.org --v ...

  6. [ActionScript 3.0] AS3.0 生成xml方法之一

    var type:Array = ["type0", "type1", "type2"]; var property:Array = [[& ...

  7. [ActionScript 3.0] AS3 访问舞台上元件的方法

    文档类: package { import flash.display.MovieClip; public class Main extends MovieClip { public function ...

  8. VisualVM 的 OQL 的一些例子

    Visual VM的OQL语言是对HeapDump进行查询,类似于SQL的查询语言,它的基本语法如下: select <JavaScript expression to select> [ ...

  9. [SQL]详解CUBE和ROLLUP区别<使用rollup或cube通过交叉列可产生高级汇总结果集>

    要使用CUBE,首先要了解GROUP BY. 其实CUBE和ROLLUP区别不太大,只是在基于GROUP BY 子句创建和汇总分组的可能的组合上有一定差别,CUBE将返回的更多的可能组合.如果在GRO ...

  10. Git简单使用

    删除本地旧分支,拉取新分支 #!/bin/bash set -e cd /project/ git pull git fetch ori --prune git branch -r|sed 's/or ...