这看似简单的问题,但由于某些原因,我烦恼。
我有3个数据源形式- InventTable
, InventSum
, InventDim
。
因此,举例来说,我的网格显示;
项目名称,住所,仓库,实货
我已经放置在显示方法InventDim
形式的DataSource,但我需要访问ItemId
从任inventTrans
或InventSum
。 (显然在寻找“当前”的itemId)。
所有我可以访问是inventDim
这是作为参数传递_inventDim
,作为标准配置。
什么是访问“当前”的itemId的最佳方式?
好吧,我找到了答案,非常感谢由里斯德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;
}
我相信这将帮助别人的未来!