显示方法 - 多格式数据源(Display Methods - Multiple Form Data

2019-09-19 09:28发布

这看似简单的问题,但由于某些原因,我烦恼。

我有3个数据源形式- InventTableInventSumInventDim

因此,举例来说,我的网格显示;

项目名称,住所,仓库,实货

我已经放置在显示方法InventDim形式的DataSource,但我需要访问ItemId从任inventTransInventSum 。 (显然在寻找“当前”的itemId)。

所有我可以访问是inventDim这是作为参数传递_inventDim ,作为标准配置。

什么是访问“当前”的itemId的最佳方式?

Answer 1:

好吧,我找到了答案,非常感谢由里斯德Gruyter这个参考;

http://daxmusings.blogspot.co.uk/2011/10/forum-advanced-display-method-querying.html

关键是把显示方法上InventSum数据源。

然后,您可以使用_inventSum.joinChild()来检索链接inventDim ,这里是里斯的榜样;

display Qty AvailPhysical(InventSum _inventSum)
{
    InventDim       joinDim, dimValues;
    InventDimParm   dimParm;
    InventSum       localSum;

    //THE IMPORTANT LINE...
    dimValues.data(_inventSum.joinChild());

    dimParm.initFromInventDim(dimValues);

    select sum(AvailPhysical) from localSum where localSum.ItemId == _inventSum.ItemId
        #InventDimExistsJoin(localSum.InventDimId, joinDim, dimValues, dimParm);

    return localSum.AvailPhysical;
}

我相信这将帮助别人的未来!



文章来源: Display Methods - Multiple Form Data Sources