Introduction
Based on my previous post we were talking about how to customize the subgrid ribbon in CRM 2013, now how about CRM 2015, especially after the latest update 1? Okay, here we go.Solution
What we need to do is just replacing:Mscrm.GridRibbonActions.addExistingFromSubGridStandard to Mscrm.GridCommandActions.addExistingFromSubGridStandard
Just replace the code only.
That’s why I use the form scripting to prepare another release update.
The Code
So the sample code will be like this:function modifyRibbon() { //to store the original function ones var originalFunctionAddNewStandard = Mscrm.GridCommandActions.addNewFromSubGridStandard; var originalFunctionAddExistingStandard = Mscrm.GridCommandActions.addExistingFromSubGridStandard; var originalFunctionAssociated = Mscrm.GridCommandActions.addExistingFromSubGridAssociated; //add new standard subgrid Mscrm.GridCommandActions.addNewFromSubGridStandard = function (gridTypeCode, parentEntityTypeCode, parentEntityId, primaryControl, gridControl) { if (gridControl.get_id() != "subgrid_id") { originalFunctionAddNewStandard(gridTypeCode, parentEntityTypeCode, parentEntityId, primaryControl, gridControl); } else { callPopUp(gridControl); } } //add existing standard subgrid Mscrm.GridCommandActions.addExistingFromSubGridStandard = function (gridTypeCode, gridControl) { if (gridControl.get_id() != "subgrid_id") { originalFunctionAddExistingStandard(gridTypeCode, gridControl); } else { callPopUp(gridControl); } } //add associate subgrid (N:N) Mscrm.GridCommandActions.addExistingFromSubGridAssociated = function (gridTypeCode, gridControl) { if (gridControl.get_id() != "subgrid_id") { originalFunctionAssociated(gridTypeCode, gridControl); } else { callPopUp(gridControl); } } } function callPopUp(gridcontrol) { if (Xrm.Page.ui.getFormType() == 2) //update { //call the pop up var dialogoptions = new Xrm.DialogOptions; dialogoptions.width = 1080; dialogoptions.height = 750; //*You can call pop up or modal dialog or web resource or other script, running dialog, running workflow, or javascript to call custom action Xrm.Internal.openDialog('http://mycrmserver?id=' + Xrm.Page.data.entity.getId(), dialogoptions, null, null, function (retval) { gridcontrol.Refresh() }); gridcontrol.Refresh(); } }
And the result you can get exactly the same, please put the code in the form and call during onload.
*For CRM 2013 please use this:
http://missdynamicscrm.blogspot.sg/2015/08/tweak-modify-ribbon-in-crm-2013-subgrid.html
Hope this helps!
Thanks.
Hi Aileen,
ReplyDeleteI tried exact same as in above blog, but didnt succeed. When I click on + on subgrid nothing happens.
Entity: Order
Subgrid: OrderProduct (salesorderdetail)
Default View : Order Products By Line Item
Any clue, or is this not applicable on order order product relationship subgrid ?
After Update 1 Order Product subgrid is not allowing to + button to open New form.
Thanks in advance!
/Abhijeet
Hi!
ReplyDeleteYour article looks very helpful. Except solution doesn’t work.
We are on pre Update 1 DYNAMICS CRM 2015.
I just want to replace + AddExisting button beheviour with default AddNew.
But getting error on the screen:
Error
An error has occurred.
Try this action again. If the problem continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization's Microsoft Dynamics CRM Administrator. Finally, you can contact Microsoft Support.
Can you advise?
function modifyRibbonon() {
//to store the original function ones
var originalFunctionAddNewStandard = Mscrm.GridRibbonActions.addNewFromSubGridStandard;
//add existing standard subgrid
Mscrm.GridRibbonActions.addExistingFromSubGridStandard = function (gridTypeCode, gridControl) {
if (gridControl.get_id() == "subgrid_id") {
originalFunctionAddNewStandard(gridTypeCode, gridControl);
}
}
}
Thank you!
Hi Aileen can we open a CRM Dialog using Xrm.Internal.openDialog ?
ReplyDeleteHi Aileen, I have 2 subgrid in a form (custom entity in CRM 2016), one for 1:N relation and another for a N:N, the code works fine for the first case but its like N:N + button is not using addExistingFromSubGridAssociated function. I miss something?
ReplyDeleteGood contentcustom crm solutions
ReplyDeleteI was recommended this website by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my trouble. You’re wonderful! Thanks!
ReplyDeletecrm integration services