{"id":37885,"date":"2024-04-18T16:19:58","date_gmt":"2024-04-18T10:49:58","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=37885"},"modified":"2024-04-18T16:19:58","modified_gmt":"2024-04-18T10:49:58","slug":"refresh-dynamics-365-crm-subgrid-from-embedded-canvas-app","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2024\/04\/refresh-dynamics-365-crm-subgrid-from-embedded-canvas-app\/","title":{"rendered":"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App"},"content":{"rendered":"<p style=\"text-align: justify;\">In Microsoft Dynamics 365, the ability to embed Canvas Apps brings\u00a0the power of Canvas Apps to their model-driven forms.<\/p>\n<p style=\"text-align: justify;\">Recently, we got a requirement to create a record of the related entity (e.g., \u201cSuggestion\u201d) from the Canvas App embedded in the Appointment entity form. There was a subgrid of the \u201cSuggestion\u201d entity added next to the Canvas App on the Appointment form. After creating the suggestion entity record, we should see the newly added suggestion record in the subgrid, i.e., the subgrid should be refreshed.<\/p>\n<p style=\"text-align: justify;\">At first, we tried the below steps to achieve this requirement.<\/p>\n<p style=\"text-align: justify;\"><strong><u>Step 1: Create the required Canvas App with a simple form to create the suggestion record <\/u><\/strong><\/p>\n<p style=\"text-align: justify;\"><strong><u><img decoding=\"async\" class=\"alignnone size-full wp-image-37886\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-1.png\" alt=\"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App \" width=\"1916\" height=\"831\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-1.png 1916w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-1-300x130.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-1-1024x444.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-1-768x333.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-1-1536x666.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-1-660x286.png 660w\" sizes=\"(max-width: 1916px) 100vw, 1916px\" \/><\/u><\/strong><\/p>\n<p style=\"text-align: justify;\"><strong><u>Step 2: Add the related records subgrid and embedded Canvas App to the model-driven form.<\/u><\/strong><\/p>\n<p style=\"text-align: justify;\">Add the related records subgrid and embedded Canvas App to the model-driven app.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone size-full wp-image-37887\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-2.png\" alt=\"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App \" width=\"1918\" height=\"829\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-2.png 1918w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-2-300x130.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-2-1024x443.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-2-768x332.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-2-1536x664.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-2-660x285.png 660w\" sizes=\"(max-width: 1918px) 100vw, 1918px\" \/><\/p>\n<p style=\"text-align: justify;\"><strong><u>Step 3: Check by filling out the Canvas Apps form on Appointment and submit it.<\/u><\/strong><\/p>\n<p style=\"text-align: justify;\">Now fill out the form and submit it on Appointment.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37888\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-3.png\" alt=\"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App \" width=\"1912\" height=\"825\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-3.png 1912w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-3-300x129.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-3-1024x442.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-3-768x331.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-3-1536x663.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-3-660x285.png 660w\" sizes=\"(max-width: 1912px) 100vw, 1912px\" \/><\/p>\n<p style=\"text-align: justify;\">It does not refresh the subgrid after the embedded Canvas App submits, as shown below.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37889\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-4.png\" alt=\"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App \" width=\"1687\" height=\"681\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-4.png 1687w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-4-300x121.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-4-1024x413.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-4-768x310.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-4-1536x620.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-4-660x266.png 660w\" sizes=\"(max-width: 1687px) 100vw, 1687px\" \/><\/p>\n<p style=\"text-align: justify;\"><strong><u>Step 4: Add the below formula to the button control (OnSelect)<\/u><\/strong><\/p>\n<p style=\"text-align: justify;\">Add the below formula to the OnSelect property of the button after the SubmitForm method.<\/p>\n<pre class=\"lang:css gutter:true start:1\">ModelDrivenFormIntegration.RefreshForm(true);\r\n\r\n<\/pre>\n<p style=\"text-align: justify;\"><img decoding=\"async\" class=\"alignnone size-full wp-image-37890\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-5.png\" alt=\"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App \" width=\"1916\" height=\"831\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-5.png 1916w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-5-300x130.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-5-1024x444.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-5-768x333.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-5-1536x666.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-5-660x286.png 660w\" sizes=\"(max-width: 1916px) 100vw, 1916px\" \/><\/p>\n<p style=\"text-align: justify;\">After adding the above expression to the OnSelect property of the button, it will automatically refresh the subgrid after the embedded Canvas App submits, as shown below.<\/p>\n<ol style=\"text-align: justify;\">\n<li style=\"text-align: left;\">Subgrid before clicking on Add suggestion.<img decoding=\"async\" class=\"alignnone size-full wp-image-37891\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-6.png\" alt=\"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App \" width=\"1667\" height=\"659\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-6.png 1667w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-6-300x119.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-6-1024x405.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-6-768x304.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-6-1536x607.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-6-660x261.png 660w\" sizes=\"(max-width: 1667px) 100vw, 1667px\" \/><\/li>\n<li style=\"text-align: left;\">Subgrid refreshes after the add suggestion button click.<img decoding=\"async\" class=\"alignnone size-full wp-image-37892\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-7.png\" alt=\"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App \" width=\"1673\" height=\"643\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-7.png 1673w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-7-300x115.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-7-1024x394.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-7-768x295.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-7-1536x590.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-7-660x254.png 660w\" sizes=\"(max-width: 1673px) 100vw, 1673px\" \/><\/li>\n<li style=\"text-align: left;\">Subgrid shows the record after it&#8217;s refreshed.<img decoding=\"async\" class=\"alignnone size-full wp-image-37893\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-8.png\" alt=\"Refresh Dynamics 365 CRM Subgrid from Embedded Canvas App \" width=\"1673\" height=\"647\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-8.png 1673w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-8-300x116.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-8-1024x396.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-8-768x297.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-8-1536x594.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/04\/Refresh-Dynamics-365-CRM-Subgrid-from-Embedded-Canvas-App-8-660x255.png 660w\" sizes=\"(max-width: 1673px) 100vw, 1673px\" \/><\/li>\n<\/ol>\n<h2 style=\"text-align: justify;\"><strong>Conclusion:<\/strong><\/h2>\n<p style=\"text-align: justify;\">By following these steps, you can effectively refresh a subgrid within Dynamics 365 upon submission of data from an embedded Canvas App, all within the same tab.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/product\/integrations\/whatsapp-dynamics-365-crm-integration\/\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-36962 size-full\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/01\/Take-Your-Chats-Communications-to-The-Next-Level-with-WhatsApp4Dynamics-in-Microsoft-Dynamics-365-CRM-1.gif\" alt=\"whatsapp\" width=\"800\" height=\"200\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Microsoft Dynamics 365, the ability to embed Canvas Apps brings\u00a0the power of Canvas Apps to their model-driven forms. Recently, we got a requirement to create a record of the related entity (e.g., \u201cSuggestion\u201d) from the Canvas App embedded in the Appointment entity form. There was a subgrid of the \u201cSuggestion\u201d entity added next to\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2024\/04\/refresh-dynamics-365-crm-subgrid-from-embedded-canvas-app\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1954,16,44],"tags":[1867],"class_list":["post-37885","post","type-post","status-publish","format-standard","hentry","category-canvas-apps","category-dynamics-365","category-power-apps","tag-canvas-app"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/37885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=37885"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/37885\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=37885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=37885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=37885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}