CRM 2011 Sub Grid Refresh

In CRM 2011 there is the new native feature of being able to place a sub grid in a form. It is very common that on the form you have a total or summary field that you want updated when data is added, updated or removed from the sub grid.

The following code worked nicely with the RTM version of CRM 2011.

  var grid = document.getElementById("InvolvedPartiesGrid"); 
 if (grid) { 
 grid.attachEvent("onrefresh", CheckInvolvedParties); 
 } else { 
 alert("Grid is null"); 
 }
 

However after Rollup 1 it seems that the grid variable was coming up null. This is because the gird is still loading when the onload event fires. Here is a workaround until this is fixed in a newer rollup.

 function Form_OnLoad() 
{ 
 //Attach to the grid refresh event 
 setTimeout("SetupGridRefresh();", 2500); 
} 
 
function SetupGridRefresh() { 
 var grid = document.getElementById("InvolvedPartiesGrid"); 
 if (grid) { 
 grid.attachEvent("onrefresh", CheckInvolvedParties); 
 } else { 
 alert("Grid is null"); 
 } 
} 
 
function CheckInvolvedParties() 
{ 
 window.location.reload(true); 
}