在 IFrame里显示实体关联视图

IFrame里显示实体关联视图的技术经常被使用。比如你的自定义实体new_myentity和系统实体account建立了关联,无论是 1:N,还是N:N,下面的代码都可以显示出来关联视图。你唯一要做的是找到navId (可以用IE Developer Toolbar),然后替换下面的"nav_new_new_myentity_account"就可以了。



var navId = "nav_new_new_myentity_account";

if(document.getElementById(navId) != null)
{
  
var tmp = document.getElementById(navId).onclick.toString();
  tmp 
= tmp.substring(tmp.indexOf("'")+1, tmp.indexOf(";"));
  
var loadArea = tmp.substring(0, tmp.indexOf("'"));
  
var roleOrd =  (tmp.indexOf("roleOrd"== -1? -1 : tmp.substring( tmp.indexOf("roleOrd"), tmp.lastIndexOf("'")).replace("\\x3d""=");
  crmForm.all.IFRAME_view.src 
= (roleOrd == -1? GetFrameSrc(loadArea) : GetFrameSrc(loadArea) + "&" + roleOrd;

}

function GetFrameSrc(tabSet)
{
  
if (crmForm.ObjectId != null)
  {
    
var id = crmForm.ObjectId;
    
var type = crmForm.ObjectTypeCode;
    
var security = crmFormSubmit.crmFormSubmitSecurity.value;
    
var path = document.location.pathname.substring(0, document.location.pathname.indexOf("edit.aspx")) + "areas.aspx?";

    
return (path + "oId=" + id + "&oType=" + type + "&security=" + security + "&tabSet=" + tabSet);
  }
  
else
  {
    
return "about:blank";
  }
}

posted @ 2009-07-20 05:26  MicrosoftCRM  阅读(1569)  评论(10编辑  收藏  举报