2015-12-10 59 views
-1

動態CRM 2011, 我寫了一個Javascript函數以在查找字段onChange後生成自定義視圖。因此,一次更改後將生成一個自定義視圖,並且會自動提高視圖的數量。刪除動態CRM 2011中的自定義視圖

enter image description here

有什麼辦法來除去這是先前創建一個自定義視圖??? 我用fetchXml得到類似下面的代碼自定義視圖的元素:

function addCustomViewAndSetDefault(viewId, entityName, viewDisplayName, fetchXml, layoutXML, fieldName) { 
    var lookupControl = Xrm.Page.getControl(fieldName); 
    document.getElementById(fieldName).setAttribute('disableViewPicker', "0"); 
    lookupControl.addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXML, true); 
    lookupControl.setDefaultView(viewId); 
} 
+0

你能告訴代碼,您是如何創建'自定義view'?您不應該動態創建「自定義視圖」,您應該創建視圖,然後根據需求進行過濾。 –

+0

我使用fetchXml來獲取自定義視圖的元素,並將此自定義視圖添加到像上面的代碼一樣的查找控件中。 –

回答

0

我相信這是從lookup fieldremove View沒有這樣的方法,如果你只是不想addView再次,你可以這樣做: 添加行if(Xrm.Page.getControl(arg).getDefaultView()!=viewId)到你的函數,它不會一次又一次地添加視圖。

function addCustomViewAndSetDefault(viewId, entityName, viewDisplayName, fetchXml, layoutXML, fieldName) 
{ 
    var lookupControl = Xrm.Page.getControl(fieldName); 
    if(lookupControl.getDefaultView()!=viewId) 
    { 

    document.getElementById(fieldName).setAttribute('disableViewPicker', "0"); 
    lookupControl.addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXML, true); 
    lookupControl.setDefaultView(viewId); 
    } 
} 

Xrm.Page.ui control (client-side reference)