javascript-Dynamics CRM 2011-更改相关实体列表的视图
作者:互联网
我有几个自定义实体,它们使用包含某些链接属性的链接实体以多对多关系链接在一起.为了清楚起见,我们将其称为“超级英雄”和“超级恶棍”,其链接为“战斗”.
(Superhero) 1 --------- * (Fight) * -------- 1 (Supervillain)
也就是说,每场战斗都在1个超级英雄和1个超级反派之间,并且每个超级英雄/超级反派组合都可以进行任何数量的战斗,可能是不同类型的战斗-剑,拳等.
到目前为止,所有简单的东西.实际上,我在这里所做的是复制新的“连接”功能,但使用的自定义链接类型仅适用于Superheros和Supervillains.原因是我想在表单的左侧将它们显示为单独的导航项,而不是将它们全部放在“连接”下.
现在,从“超级英雄”表单中,当我在左窗格中查看相关实体时,我想显示一个“战斗”列表,以及超级英雄正在战斗的“超级恶棍”.很简单,我可以自定义“ Fight Associated View”以显示“ Fight”的类型以及“ Supervillain”实体.这使我可以直接从超级英雄单击,进入他所战斗的超级恶棍.
但是,如果我想从Supervillain中做同样的事情怎么办?同样,Supervillains也显示了“ Fight Associated View”,但需要进行自定义以显示战斗类型和相关的Superhero …但是,我不希望“一种尺寸适合所有”相关视图超级英雄和超级坏蛋领域.
我希望根据我正在看的是超级英雄还是超级坏蛋来改变相关视图.因此,我创建了两个新视图,每个视图都有所需的列.现在,在每个实体中选择相关列表时,我可以手动切换到这些视图.效果很好,但是我不想每次查看相关战斗时都执行此手动步骤.
因此,最后我要提出一个问题:我如何根据实体类型自动(即,如果需要,通过脚本)选择默认的“关联”视图,该视图将显示给与超级英雄和超级恶棍相关的战斗?
使用表单脚本,我可以很容易地获得导航项,但此后我迷路了:
function SuperHero_OnLoad()
{
var fightItem = Xrm.Page.ui.navigation.items.get("nav_new_fight");
// What next?!
fightItem.MagicFunctionThatSelectsADefaultViewOrHacksIntoTheIframeParametersOrSomething();
}
注意:我知道我可以在主编辑表单中使用子网格,该子网格允许您选择要显示的视图,但是我不想用更多子网格来阻塞表单.我想使用表单左侧的“相关”树.
解决方法:
Customizations.xml中的ViewId确实有效,但是您提早提出问题;-)
有一个错误已在Update Rollup 10及更高版本中解决.在更新之前,我遇到了同样的问题.
标签:dynamics-crm,dynamics-crm-2011,javascript 来源: https://codeday.me/bug/20191208/2090490.html