Customizations.xml Advanced Hacks

For those who attended my session about customizations.xml advances hacks, here is everything I promessed you during the session.

The presentation

Here’s the PowerPoint with the relevant information.

Enable / Disable the Jumpbar on subgrids

First example was to enable or disable the jumpbar on subgrids. In order to do so, you need to add or set the <EnableJumpBar> property in the parameters of the subgrid as shown below.

<cell showlabel="false" locklevel="0" id="{a64dbfbd-4d31-4b01-99a8-d6019536c1a5}" rowspan="1" colspan="1">
  <labels>
    <label description="New SG control 1573914400892" languagecode="1033" />
  </labels>
  <control id="lbs_contacts" classid="{E7A81278-8635-4D9E-8D4D-59480B391C5B}" indicationOfSubgrid="true">
    <parameters>
      <TargetEntityType>contact</TargetEntityType>
      <ViewId>{00000000-0000-0000-00AA-000010001004}</ViewId>
      <ViewIds>{00000000-0000-0000-00AA-000010001003},{00000000-0000-0000-00AA-000010001004}</ViewIds>
      <EnableViewPicker>false</EnableViewPicker>
      <RelationshipName>lbs_Event_Contact_Contact</RelationshipName>
      <EnableJumpBar>false</EnableJumpBar>
    </parameters>
  </control>
</cell>

Hide columns on your view

To hide columns on your view, you can set the ‘ishidden’ attribute on the column of the view as shown below.

One of the attendees on the session in Brussels also marked the ‘disableSorting’ attribute that makes sure users cannot sort the view on that column.

<layoutxml>
  <grid name="opportunityproducts" jump="" select="1" icon="1" preview="1">
    <row name="opportunityproduct" id="opportunityproductid">
      <cell name="productid" width="200" />
      <cell name="productdescription" width="200" />
      <cell name="priceperunit" width="100" />
      <cell name="quantity" width="75" />
      <cell name="extendedamount" width="100" />
      <cell name="opportunityproductname" ishidden="1" imageproviderfunctionname="Sales.ProductTypeImage.getProductTypeImageUrl" imageproviderwebresource="$webresource:Sales/ClientCommon/Sales_ClientCommon.js" />
      <cell name="isproductoverridden" />
      <cell name="producttypecode" ishidden="1" disableSorting="1" />
      <cell name="baseamount" width="100" />
    </row>
  </grid>
</layoutxml>

Embed PowerBI Report in a Model Driven form

Microsoft has documented this feature well and you’re able to see all information on this page. Down here is the code that needs to be added to the section under the </labels> tag. To filter on the current record, please add the highlighted line. Also don’t forget to set the height of the section by adding rowspan=”10″ to the <cell> tag.

<control id="unfilteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
  <parameters>
    <PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
    <PowerBIReportId>91649484-1601-4345-8c12-4dfea5d69399</PowerBIReportId>
    <TileUrl>https://app.powerbi.com/reportEmbed?reportId=91649484-1601-4345-8c12-4dfea5d69399</TileUrl>
    <PowerBIFilter>{"Filter": "[{\"$schema\":\"basic\",\"target\":{\"table\":\"Account\",\"column\":\"accountid\"},\"operator\":\"Eq\",\"values\":[$a],\"filterType\":1}]", "Alias": {"$a": "accountid"}}</PowerBIFilter>
  </parameters>
</control>

Creating custom dialogs

In the presentation I told you about custom dialogs in CRM. These are perfectly to build and it’s all explained very well by Bob Guidinger. You can find everything you need to know on these two posts: https://bguidinger.com/blog/category/dialog-boxes

2 thoughts on “Customizations.xml Advanced Hacks

Leave a Reply

Your email address will not be published. Required fields are marked *

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