迭代选定的网格数据并获取第n个数据源的字段值

时间:2014-11-13 14:30:45

标签: axapta dynamics-ax-2009

我想循环遍历网格上的选定行并获取每一行的字段数据,该数据来自通过内部联接链接到第一个数据源的第二个/第三个数据源。

循环选定的行并获取第一个DS的数据非常简单,例如

x = myDS_getFirst();
while (x)
{
    doSth();
    x = myDS.getNext();
}

使用

之类的东西时
x = mySecondDS_getFirst();
while (x)
{
    doSth();
    x = mySecondDS.getNext();
}

我总是只获得最后选择的行。 有没有一种简单的方法来访问所选行的第n个数据源而不在每次迭代中执行select ....数据已经显示在网格中......

我尝试了什么:

  • 上面的伪代码示例
  • 访问while-loop中的第n个ds
  • 使用MultiSelectionHelper
  • 将数据源的连接从内部更改为主动/被动/延迟

但问题保持不变。

在AX2012中它运行正常,但在AX2009中没有。 这是2009年的一个已知问题吗? 怎么做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试使用joinChild,例如

SalesTable t;
SalesLine l;

for (t = SalesTable_ds.getFirst(true) ? SalesTable_ds.getFirst(true) : SalesTable_ds.cursor(); t; t = SalesTable_ds.getNext())
{
    l = t.joinChild();
    info(strFmt("%1 - %2", t.SalesId, l.LineNum));
}