Show Associated View in IFrame MS CRM 4.0


Some time we need to show associated view (1:N or N:N) in Iframe. I found a good article in https://community.dynamics.com/blogs/crmjimwang/comments/28067.aspx written by Jim Wang. After doing some little changes it worked like a charm for me. You can use this code for any associated view (1:N or N:N). You just need to get Left navigation item name that you can get through IE developer toolbar or Developer tools if you are using IE 8.

//Remember to change IFRAME_Name with name of iframe in your form.

//Check Form Type if it’s 1 than hide iframe.

if (crmForm.FormType == 1) {

//To hide iframe

    crmForm.all.IFRAME_Name.parentNode.style.display = ‘none’;

    crmForm.all.IFRAME_Name.parentNode.parentNode.style.display = ‘none’;

}

else {

    //Display associated view in Iframe

    var navId = “LeftNavigationItemName“; //Remember to replace this with left navigation item name

    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_Name.src = (roleOrd == -1) ? GetFrameSrc(loadArea) : GetFrameSrc(loadArea) + “&” + roleOrd;

        //call function onreadystatechange to remove padding and scrollbar

        crmForm.all.IFRAME_Name.attachEvent(‘onreadystatechange’, RemovePadding);

    }

}

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”;

    }

}

//To remove padding

function RemovePadding() {

    if (crmForm.all.IFRAME_Name.readyState == ‘complete’) {

        var IframeObject = crmForm.all.IFRAME_Name.contentWindow.document;

        IframeObject.body.scroll = “no”;

        IframeObject.body.childNodes[0].rows[0].cells[0].style.padding = “0px”;

    }}

Cheer 🙂

Advertisements

2 Comments

Filed under JS Script, MS CRM 4.0

2 responses to “Show Associated View in IFrame MS CRM 4.0

  1. Pingback: 2010 in review « Mahender Pal

  2. “Show Associated View in IFrame MS CRM 4.0 | Mahender
    Pal” Window Treatment Ideas ended up being a incredibly
    great post, . Keep posting and I am going to keep following!
    Thanks for your time ,Estela

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s