Filter SubGrid in Dynamics 365 (with New Form Rendering or Turbo Form)

Recently we had a requirement wherein we wanted to see all the child records of a record in a SubGrid .

We had self-referential (hierarchical relationship) enabled for that entity.

Configuring the Sub Grid on the form.

We have also enabled the Editable grid for the Sub Grid.

The JavaScript code

<p>function filterSubGrid()<br />
{<br />
// get the current record's guid<br />
var entityId =;</p>
<p>// refer the subgrid<br />
var testGrid = window.parent.document.getElementById("Test");</p>
<p>if (testGrid == null)<br />
{<br />
setTimeout(function () {filterSubGrid(); }, 2000);<br />
return;<br />
<p>// fetch xml code using User operator<br />
var fetchXml = "&lt;fetch distinct='false' no-lock='false' mapping='logical'&gt;" +<br />
"&lt;entity name='new_test' &gt;" +<br />
"&lt;attribute name='new_name' /&gt;" +<br />
" &lt;attribute name='new_testname' /&gt;" +<br />
"&lt;order attribute='new_name' descending='true' /&gt;" +<br />
"&lt;filter type='and'&gt;" +<br />
"&lt;condition attribute='new_testid' operator='under' value='"+entityId+"'"+"/&gt;" +<br />
"&lt;/filter&gt;" +<br />
"&lt;/entity&gt;" +<br />
<p>if (testGrid.control != null)<br />
{<br />
testGrid.control.SetParameter("fetchXml", fetchXml);<br />
testGrid.control.refresh();<br />
}<br />
else<br />
{<br />
setTimeout(filterSubGrid, 500);<br />
}<br />

The filtered Sub Grid (editable)

Note :- The JavaScript code is unsupported as we are making use of getElementById instead of Xrm library to access subgrid.

Hope it helps..


Author: Nishant Rana

I love working in and sharing everything about Microsoft.NET technology !

6 thoughts on “Filter SubGrid in Dynamics 365 (with New Form Rendering or Turbo Form)”

  1. While it can be tempting to fulfill requirements in whatever way we can to do so at the expense of maintainablity of the system is rarely a good trade off. These exceptions to supportabilty are rarely documented and visible to the future operations/development teams. One of the main premises of using the platform is to be able to take advantage of new functionality as it becomes available. Unsupported customizations make this goal more challenging and isn’t in the best strategic interest of the enterprise. I would instead challenge the creativity of the development team to come up with alternate solutions that are supported. For example, in this case perhaps a web resource could have fulfilled the need while also keeping the system upgradable in the future.


    1. I ‘d also suggest that the Microsoft Dynamics 365 development team provide us with a supported method for doing this.
      Developing a web resource is OK, but is not a good solution as it also comes with maintainability costs that have to be assumed by the customer/partner development team.
      I’ve submitted a new idea in Microsoft’s experience page, which you can upvote here:


Please share your thoughts

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

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

Google photo

You are commenting using your Google 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 )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.