我有几个自定义实体,它们与多个关系连接在一起,使用包含一些链接属性的链接实体。为了清晰起见,让我们把这些超级英雄和超级恶棍叫做“超级英雄”和“超级恶棍”,这样的联系将是战斗。
(Superhero) 1 --------- * (Fight) * -------- 1 (Supervillain)也就是说,每一场战斗都是在1名超级英雄和1名超级恶棍之间进行的,而每一次超级英雄/超级反派组合都可以有不同类型的战斗--剑、拳等。
目前为止都是很简单的事情。实际上,我在这里所做的是复制新的“连接”功能,但使用的是只适用于Superheros和超级恶棍的自定义链接类型。这样做的原因是,我希望在表单的左侧将它们显示为一个单独的导航项,而不是将它们都放在"Connections“下面。
现在,从超级英雄的形式,当我看左边窗格中的相关实体时,我想显示一个战斗列表,以及超级英雄正在战斗的超级反派。很简单,我可以定制“战斗关联视图”来显示战斗的类型,以及超级反派实体。这让我可以直接从超级英雄到他正在战斗的超级恶棍。
但如果我也想和超级恶棍做同样的事呢?同样的“战斗关联视图”也显示给超级恶棍,但需要定制以显示战斗类型和相关的超级英雄.但是,我不想要一个“一刀切”的相关观点,与超级英雄和超级恶棍领域。
我希望相关的观点能根据我是在看超级英雄还是看超级恶棍而改变。因此,我创建了两个新视图,每个视图都具有所需的列。在选择每个实体中的相关列表时,我现在可以手动切换到这些视图。这是很好的工作,但我不希望这个手动步骤,每次我看到相关的战斗。
最后,我谈到了问题的观点:我如何自动(如有必要通过脚本)选择默认的“关联”视图,该视图将显示在与超级英雄和超级恶棍相关的战斗中,取决于实体类型?
使用表单脚本,我可以很容易地获得导航项,但之后我就迷路了:
function SuperHero_OnLoad()
{
var fightItem = Xrm.Page.ui.navigation.items.get("nav_new_fight");
// What next?!
fightItem.MagicFunctionThatSelectsADefaultViewOrHacksIntoTheIframeParametersOrSomething();
}注意:我知道我可以在主编辑表单中使用子网格,这允许您选择要显示的视图,但我不想用更多的子网格阻塞表单。我想使用表单左边的相关树。
发布于 2012-11-12 10:55:03
ViewId in Customizations.xml确实有效,但是您问这个问题太早了;-)在更新汇总10和更高版本中解决了一个错误。在更新之前我也遇到了同样的问题。
https://stackoverflow.com/questions/6291426
复制相似问题