2015-12-10 61 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)