这似乎是一个简单的问题,但出于某种原因,我很烦恼。
我有一个包含3个数据源的表单 - InventTable
,InventSum
,InventDim
。
因此,例如,我的网格显示;
项目,名称,地点,仓库,实物库存
我在InventDim
表单DataSource上放置了一个显示方法,但我需要访问ItemId
或inventTrans
中的InventSum
。 (显然正在寻找“当前”项目ID)。
我可以访问的只是inventDim
,它作为参数_inventDim
作为标准传递。
访问“当前”itemId的最佳方法是什么?
答案 0 :(得分:8)
好的,我找到了答案,非常感谢Joris de Gruyter的这篇文章;
http://daxmusings.blogspot.co.uk/2011/10/forum-advanced-display-method-querying.html
关键是将显示方法放在InventSum
数据源上。
然后,您可以使用_inventSum.joinChild()
来检索链接的inventDim
,这是Joris的示例;
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;
}
我相信这将有助于将来的某个人!