How to add a custom button on CRM subgrid? - dynamics-crm

I have two entities in my Dynamics CRM solution. Both are related to each other.
Product -> configurations
Each product can have multiple configurations. I have added a subgrid on product screen.
I need to call a custom html webresource to be able to create configuration records.
How to add a custom button to the subgrid? OR how to customize existing (+) button to open an html webresource?

Add the entity to a solution & take a backup
Open the solution in Ribbon workbench
Start customizing the subgrid ribbon (ignore other two - Main grid & Form), right click the OOB button & hide it (this is also a backup)
Add a new button & custom javascript action command (follow this)
Open your custom HTML webresource using openWebResource method in javascript function

Related

Display button on Entity HomePageGrid in RibbonWorkBench

I want to display a button on the Home Page of a custom entity called new_orders. I only want that button to show on the home page and not the form of the individual records of the custom entity. I only want it to show for that custom entity. Is EntityRule the right approach through ribbonworkbench?!
Here is the homepage of the custom entity. I want that button to ONLY show for that custom entity, on the homepage and not on the form or subgrid.
There are two types of ribbon, Application ribbon & Entity specific ribbon. Application ribbon is global & will load for all entities, then you have to filter for specific entity.
But you are already customizing Entity specific ribbon (command bar), so no need of any special rules. It will show only on Home grid of that entity specific view. Subgrid & Form has separate command bar.

Dynamics CRM Portal download list button

We are using Dynamics CRM Portal.
When you add an entitylist you may add the "download" feature to that list.
If I have a page with a list of that entity a "Download" button is displayed.
BUT: If I have an entity form and the list is a subgrid (list of subrecords) there is no "download" button. Can this be configured or is this not possible?
I found out myself.
On the entity form, go to metadata, add an entry, choose "subgrid", choose the correct subgrid, then you can edit the buttons like on the original entity-list.

On Page Load Hide Add new button of subgrid on form value in CRM 2016

I want to hide add new button of subgrid (Contact Entity) on page load (Account Entity). I have tried with following link, but its not working,
Below is the red button in image that i want to hide.
Please help me out.
There is no supported way of doing this
But we can do it with an unsupported way by using Jquery/JS.But Use legacy form rendering to "NO".unsupported Customizations won't work.
Check this in Crm 2016
Under Settings --->Administration --->System Settings ---->Use legacy form rendering to "NO"

Using CRM form instead of RadScheduler Advanced Form

I need to integrate the Telerik RadScheduler control with CRM 2011. Is there a way I can use a CRM form of a custom entity instead of the Scheduler's Advanced Edit form ? i.e. When I double click the appointment in the Scheduler the corresponding custom entity form is displayed.
You can use a silverlight component on a CRM form which can have your telerik control included. We have done this a number of times including using the scheduler control you are talking about

Create ribbon button Dynamically in CRM 2011

Can any one help me to create a ribbon button dynamically in CRM 2011. The scenario is, when we create a record, one ribbon button has to be created dynamically based the optionset value selected in that record. Can we get it work using JScript or Plug-in or Workflow? Enable or Display rules are not useful here and should not touch XML code.
Quick principle: Ribbon Buttons are not a part the record, they are a part of the UI. You can make the UI change based on the record you are looking. Therefore you cannot 'add' a button to a record. You can add a button to an entity form.
Plugins definetly wont work here, they peform logic on the 'back-end'. JavaScript might work but I would expect this to be quite awkward. What you should do is edit the ribbon Xml. Now there is an excellent for editing the ribbon: Ribbon Workbench, this tool make it significantly easier to
edit the ribbon (this is editing the XML but this is the way its meant to be done).
Then I think you will need to
Create a ribbon button for each action.
Then follow this tutorial to enable and disable them: Enable/Disable a ribbon button dynamically based on a form value.
Using a display rule would be the right way to do this.
Create multiple buttons and set their display rule when selected option is equal
to the button's name.
We can get it done by two ways-
Through plug-in:(Note: It won't works in Sandbox mode and consume some time.)
Create one solution and add specified entity to it. Go through the source code here
Export this solution to Temp folder and unzip it.
Edit customizations.xml file to add our own RibbondiffXml tag.
Zip all the XML files and Import it to CRM.
Publish the Customization.
Through XML edit:
Export Application Ribbon, update XML to add button and replace entity name with {!EntityLogicalName} in all the places.
Ex: <CustomAction Id="New.{!EntityLogicalName}.MyButton.CustomAction" Location="Mscrm.HomepageGrid.{!EntityLogicalName}.MainTab.Management.Controls._children" Sequence="70">...
Add EnableRule to enable this button only if Config record exist for current entity.
<EnableRule Id="New.{!EntityLogicalName}.MyButton.Check">
<CustomRule FunctionName="checkConfigRecord" Library="$webresource:new_/Scripts/ValidateConfigRecords.js">
<CrmParameter Value="SelectedEntityTypeName" />
</CustomRule>
</EnableRule>
Create one JavaScript library with name new_/Scripts/ValidateConfigRecords.js which contains function checkConfigRecord which counts config records exists for particular entity. If count is greater than 1 return true. Otherwise false.
Import the ApplicationRibbon Zipped file
I ran into the same problem on Dynamics 365 and found a solution.
RibbonWorkbench includes a feature called "Fly Out Anchor Buttons"
This includes a property called PopulateQueryCommand.
You can use this command to dynamically (using JScript) add menu options to the Anchor Buttons at runtime.
The RibbonWorkbench documentation includes all the information you need to use this feature.

Resources