2011-06-09 164 views
3

我有一對自定義實體,它們使用包含一些鏈接屬性的鏈接實體鏈接在一起,具有多對多關係。爲了清晰起見,我們稱這些超級英雄和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(); 
} 

注:我知道我可以在主編輯表單使用分格,它可以讓你選擇要顯示的視圖,但我不想用更多的子網格阻塞表單。我想使用窗體左側的相關樹。

+1

好的,所以我在文檔[這裏](http://msdn.microsoft.com/en-us/library/gg328217)中找到,您可以通過編輯 '在Customizations.xml中添加一個'ViewId'屬性。 唯一的問題是,這是行不通的。其中,tbh是一個相當大的問題。 – Mark 2011-06-09 16:12:42

+0

爲了清楚起見,您希望顯示窗體左側的導航項(如果您打開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

+0

沒錯。因此,在CRM 2011中,有一項新功能允許用戶從列表中的下拉列表中選擇1:N關係項目的視圖。我只想根據父實體的類型指定默認視圖。 'ViewId'應該這樣做,但它不適合我。任何人都有幸運? – Mark 2011-06-10 08:00:12

回答

3

Customizations.xml中的ViewId可以工作,但您提出的問題太早;-) 有一個在Update Rollup 10及以上解決的錯誤。在更新之前,我遇到了同樣的問題。

+0

很高興知道。謝謝! – Mark 2012-11-12 15:45:34