繁体   English   中英

Dynamics CRM 2011 - 更改相关实体列表的视图

[英]Dynamics CRM 2011 - Changing the view for a related entity list

我有几个自定义实体,它们通过多对多关系链接在一起,使用包含一些链接属性的链接实体。 为了清楚起见,我们称这些超级英雄和超级恶棍,链接将是战斗。

(Superhero) 1 --------- * (Fight) * -------- 1 (Supervillain)

也就是说,每场战斗都在 1 个超级英雄和 1 个超级恶棍之间,每个超级英雄/超级恶棍组合可以进行任意数量的战斗,可能是不同类型的 - 剑、拳头等。

到目前为止所有简单的东西。 实际上,我在这里所做的是复制新的“连接”功能,但使用仅适用于超级英雄和超级恶棍的自定义链接类型。 这样做的原因是我想将它们显示为表单左侧的单独导航项,而不是将它们全部放在“连接”下。

现在,从超级英雄表格中,当我查看左侧窗格中的相关实体时,我想显示一个战斗列表,以及超级英雄正在战斗的超级反派。 很简单,我可以自定义“战斗关联视图”来显示战斗类型和 Supervillain 实体。 这让我可以直接点击从超级英雄到他正在战斗的超级反派。

但是如果我想从 Supervillain 做同样的事情呢? Supervillains 也显示相同的“战斗关联视图”,但需要自定义以显示战斗类型和相关的超级英雄......但是,我不想要“一刀切”的关联视图,两者都有超级英雄和超级恶棍领域。

我希望相关视图根据我是在看超级英雄还是超级恶棍而改变。 所以我创建了两个新视图,每个视图都有所需的列。 我现在可以在每个实体中选择相关列表时手动切换到这些视图。 这很好用,但我不希望每次查看相关战斗时都执行此手动步骤。

所以,最后我明白了问题的重点:我怎样才能自动(即通过脚本,如有必要) select 默认的“关联”视图将显示为与超级英雄和超级恶棍相关的战斗,取决于实体类型?

使用表单脚本,我可以很容易地获得导航项,但之后我迷路了:

function SuperHero_OnLoad()
{
    var fightItem = Xrm.Page.ui.navigation.items.get("nav_new_fight");
    // What next?!
    fightItem.MagicFunctionThatSelectsADefaultViewOrHacksIntoTheIframeParametersOrSomething();
}

注意:我知道我可以在主编辑表单中使用子网格,它可以让您选择要显示的视图,但我不想用更多的子网格阻塞表单。 我想使用表单左侧的相关树。

Customizations.xml 中的 ViewId 确实有效,但您提出的问题太早了;-)更新汇总 10及更高版本中解决了一个错误。 在更新之前我遇到了同样的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM