Showing posts with label Subgrid. Show all posts
Showing posts with label Subgrid. Show all posts

Thursday, February 27, 2014

Filtering records in the sub grid in Microsoft Dynamics CRM 2011 and CRM 2013

function updateSubGrid() {
debugger
    //This will get the related products grid details and store in a variable.

    var relatedProducts = document.getElementById("AllActivities");
    //Initializing the lookup field to store in an array.

    var lookupfield = new Array;



    //Get the lookup field

    lookupfield = Xrm.Page.getAttribute("to").getValue();



    //This will get the lookup field guid if there is value present in the lookup

    if (lookupfield != null) {

        var lookupid = lookupfield[0].id;

    }



    //Else the function will return and no code will be executed.

    else {

        return;

    }

     

    //This method is to ensure that grid is loaded before processing.

    if (relatedProducts ==null || relatedProducts.readyState != "complete")

    {



        //This statement is used to wait for 2 seconds and recall the function until the grid is loaded.

        setTimeout('updateSubGrid()', 2000);

        return;

    }  

    //This is the fetch xml code which will retrieve all the order products related to the order selected for the case.

    var fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>";

    fetchXml += "<entity name='activitypointer'>";

    fetchXml += "<attribute name='activitytypecode' />";

    fetchXml += "<attribute name='subject' />";

    fetchXml += "<attribute name='prioritycode' />";

    fetchXml += "<attribute name='activityid' />";

    fetchXml += "<attribute name='instancetypecode' />";

    fetchXml += "<attribute name='regardingobjectid' />";

fetchXml += "<attribute name='scheduledstart' />";

fetchXml += "<attribute name='scheduledend' />";

    fetchXml += "<filter type='and'>";

    fetchXml += "<condition attribute='salesorderid' operator='eq'  value='" + lookupid + "' />";

    fetchXml += "</filter>";

    fetchXml += "</entity>";

    fetchXml += "</fetch>";

     

    //Setting the fetch xml to the sub grid.

    relatedProducts.control.SetParameter("fetchXml", fetchXml);



    //This statement will refresh the sub grid after making all modifications.

    relatedProducts.control.refresh();

}