簡短的答案是你不能沒有一些JavaScript的幫助下做到這一點。
您需要執行幾個步驟來完成此任務,首先您不能添加額外的「下拉列表」,以允許用戶選擇要過濾的長列表。但是,您可以做的是將一些自定義視圖添加到查找窗口。所以你的目標是這樣的:在查找表單上展開「視圖」選擇列表。我們可以使用JavaScript爲其添加自定義視圖。
首先,讓我給你一個如何做這個自定義視圖部分的例子。在我們的例子中,我做了如下推定:
- 那你的實體稱爲
new_member
,new_shortlist
和new_longlist
。
- 爲了這個JavaScript函數的目的,我將向您展示如何將其添加到查找字段中,但我希望您希望將其掛鉤到按鈕而不是查找字段。
- 最後,您通過的參數將成爲您從CRM中檢索的一個longlist實體(使用ajax/odata調用或類似方法)。我會(可能錯誤地)認爲你已經知道如何做到這一點。
的JavaScript來添加自定義視圖將是這個樣子:
function addCustomLonglistView(longlist) {
// Create a view id and a view name
var viewId = "{A2D479C5-53E3-4C69-ADDD-802327E67A0D}";
var viewDisplayName = longlist.New_Name + " members";
// Prepare the fetch xml for the lookup view
var fetchXml =
'<fetch mapping="logical" count="250" version="1.0">' +
'<entity name="new_member">' +
'<attribute name="new_memberid" />' +
'<attribute name="new_name" />' +
'<link-entity name="new_longlist" from="new_memberid" to="new_memberid">' +
'<filter>' +
'<condition attribute="new_longlistid" operator="eq" value="' + longlist.Id + '" />' +
'</filter>' +
'</link-entity>' +
'</entity>' +
'</fetch>';
var layoutXml = '<grid name="resultset" object="1" jump="new_name" select="1" icon="1" preview="1"><row name="result" id="new_memberid"><cell name="new_name" width="300" /></row></grid>';
Xrm.Page.getControl("new_memberfield").addCustomView(viewId, "new_member", viewDisplayName, fetchXml, layoutXml, true);
Xrm.Page.getControl("new_memberfield").setDefaultView(viewId);
}
這可以讓你的方式的一部分。缺失的部分是如何將此添加到按鈕?這有點棘手。值得慶幸的是我發現了另一個計算器答案應該回答這個問題對你的意見:
How to add filtered view to Ribbon 「Add Existing」 button
更新。
對開發人員培訓和SDK的某些鏈接:
一個相當困難的問題理解,但我猜你想這是什麼?你有不同成員的'N'LongLists。你打開一個短名單記錄。您可以選擇成員列表(在左側導航欄或子網格上)。然後點擊添加新成員...在這裏,您希望顯示的查找表單爲您提供選擇要過濾的長列表的選項? –
是的,這是那種。我希望用戶從他可以選擇的長列表中選擇成員。 –