我有一对自定义实体,它们使用包含一些链接属性的链接实体链接在一起,具有多对多关系。为了清晰起见,我们称这些超级英雄和Supervillain,并且链接将是战斗。Dynamics CRM 2011 - 更改相关实体列表的视图
(Superhero) 1 --------- * (Fight) * -------- 1 (Supervillain)
也就是说,每一个战斗英雄1和1个超级大间,每个超级英雄/ suppervillain组合可以有任意数量的战斗也许不同类型的 - 剑,拳等
所有简单的东西至今。实际上,我在这里做的是再现新的“连接”功能,但使用只适用于Superheros和Supervillains的自定义链接类型。原因是我想将这些显示为表单左侧的单独导航项目,而不是将它们全部放在“连接”下。
现在,从超级英雄的形式,当我看着左侧窗格中的相关实体时,我想显示一个战斗列表,以及超级英雄正在战斗的Supervillain。很简单,我可以自定义“扑灭相关视图”以显示扑灭类型和Supervillain实体。这让我直接点击超级英雄到他正在战斗的Supervillain。
但是如果我想从Supervillain做同样的事情呢? Supervillains也显示了相同的“扑灭相关视图”,但需要定制以显示斗争类型和相关的超级英雄......但是,我不想要“一刀切”的相关视图,超级英雄和Supervillain领域。
我希望关联的视图根据我是在看超级英雄还是在Supervillain而改变。所以我创建了两个新视图,每个视图都有所需的列。我现在可以手动在每个实体中选择相关列表时切换到这些视图。这工作正常,但我不希望每次看到相关战斗时手动步骤。
所以,最后我得到的问题点:我怎样才能自动(即通过脚本,如果需要的话)选择将显示,对与超级英雄和的supervillains战斗默认的“关联”的说法,依赖于实体类型?
使用表单脚本,我可以得到的导航项目很轻松了,但在那之后,我失去了:
function SuperHero_OnLoad()
{
var fightItem = Xrm.Page.ui.navigation.items.get("nav_new_fight");
// What next?!
fightItem.MagicFunctionThatSelectsADefaultViewOrHacksIntoTheIframeParametersOrSomething();
}
注:我知道我可以在主编辑表单使用分格,它可以让你选择要显示的视图,但我不想用更多的子网格阻塞表单。我想使用窗体左侧的相关树。
好的,所以我在文档[这里](http://msdn.microsoft.com/en-us/library/gg328217)中找到,您可以通过编辑 '在Customizations.xml中添加一个'ViewId'属性。 唯一的问题是,这是行不通的。其中,tbh是一个相当大的问题。 –
Mark
2011-06-09 16:12:42
为了清楚起见,您希望显示窗体左侧的导航项(如果您打开SuperHero)显示不同的关联视图,而不是如果您打开SuperVill表单? 我记得摆弄周围的地图,并与像这样创建一个导航项目: HTTP://url/ORG/main.aspx?etn=new_entity&pagetype=entitylist&viewid=%7b550DB1BB-9AF4-42A1-856E-4CAE35A5EB3A% 7d&viewtype = 1039 所以它会直接进入视图。我发现,直接指向视图似乎有问题,但(它会重新打开网站内的整个网站)。 – ryanjones 2011-06-09 17:55:28
没错。因此,在CRM 2011中,有一项新功能允许用户从列表中的下拉列表中选择1:N关系项目的视图。我只想根据父实体的类型指定默认视图。 'ViewId'应该这样做,但它不适合我。任何人都有幸运? – Mark 2011-06-10 08:00:12