Editable Grid was released as a new feature in Dynamics 365 to much applause from the CRM community. In this blog, I’d like to dive into some things the editable grid can and can’t do.
1. What is editable grid?
It’s a custom control on an entity. It’s not enabled out of the box for any entity, you have to set it up. It’s easy (see below). It allows you to amend values on a view inline without going into the form.
2. Once you set up editable grid for an entity, can you still use the traditional read only views?
Yes. Once you set it up on an entity, you can toggle back and forth from editable to read only grid via a ‘Show as’ button on the view command bar.
3. Can it be used on out of the box and custom entities?
4. Can it be used on personal views?
5. Can it be used on mobile clients?
Yes, both tablet and phone. In fact, when you enable it, you enable for web, tablet and phone all together.
6. Can you apply it to just some view on an entity and not others?
Not exactly. It is set up at either entity or form level (i.e. applies to a specific subgrid). But you can’t just apply it to some views on an entity and not others.
7. How do you set it up?
In Customisations, in the entity configuration screen, there’s a new tab called ‘Controls’.
Select ‘Add control’ and select the type you want, in this case, obviously ‘Editable Grid’.
Don’t forget to save your changes. Then publish.
Please also note that it seems it is possible to add multiple editable grids to the same entity, but this would appear to be a bug, as it seems to have no impact. Of course, it only makes sense to have 1 editable grid control per entity.
8. What can you do on an editable grid?
You can (and this list is not exhaustive):
Change values on the view columns, obviously. See example below where I’m about to change the email field for Abraham McCormick.
Move columns around in the view by dragging and dropping. Please note, these persist across sessions, and users, i.e. if I move a column, it is moved for all users, and will still be like that when I log out and back in again. Not sure I like this functionality, particularly the fact that it moves it for all users.
Group records by a column in the view. Below, I’ve grouped by Company Name, and collapsed the contacts attached to no company and to A.Datum.
Again, these changes persist across sessions and users. Please note, you can enable editable grid for an entity but disable grouping if you want. Not sure why you would ever do this though.
9. What can’t you do on an editable grid?
You can’t (and again this list is not exhaustive):
Select a lookup field on a view and be taken to that record. It’s not a link, like it is in read only grid.
Change the owner of a record – this is still done through ‘Assign’ on the command bar. As you can see it is locked:
Click to call phone numbers. Again, they’re not links. When you click on them, you can change them, but not call them.
Click to send email. Again, they’re not links.
Change customer lookups (you can change all other lookups on the primary entity).
Change composite fields, e.g. full name:
You can of course list out each component of the composite field in their own columns and change those individually.
Change party list fields.
See more than 25 records per page, regardless of your personal setting for records per page, unless you use the grouping function, in which case it will respect your personal options for records per page.
Perform a secondary sort, unless the grid is grouped, in which case you can do a maximum of 2 levels of sorting (unlike read only grid where you can sort by many columns).
See how many records are in the view, i.e. there is no record count at the bottom. You just see this for paging back and forth:
10. Can you set an entity to default to editable or read only grid?
Yes you can. You create the control for editable grid, and then select whether you want the default to be editable grid or read only grid for each client, i.e. web, phone or tablet. In the example below, I’ve set the default for web client to be editable grid, but for phone and tablet to be read only grid.
Please note, if you go to another entity and then back, you will be taken back to the grid type you were on when you left, not your default. However, if you sign out of CRM and back in, you will be taken to your default. So, the default grid type is only for when you first view that entity in a new session.
This isn’t an exhaustive list of editable grid’s features and limitations, but it’s a decent start.
Configuring the editable grid
Open Advanced Find and look for and select “D CRM EG Configuration” list option. Click on the “results” toolbar button.
Click New D CRM EG Configuration toolbar button.
Select the entity where the grid is to be displayed on. In this example, we set it to a custom entity “Settlement”.
Select an entity to display data from. In this example, we set it to entity “Invoice”.
Click on the “+” button to add the selected entity to the list of entities to display data from.
Click to select the “Invoice” entity list item. This will display a list of all fields for the entity and other configuration settings.
If a selected entity has a many-to-one relationship with the entity hosting the grid, you will be presented with the option to use this relationship to display only related records or all records.
Select the fields that you would like to be displayed on the grid. Each selected field will have a corresponding tile under the “Selected grid headers” section.
Each selected field can be set to read-only. Its initial width can also be specified in percentage.
Each selected fields conditions can be set to filter records.
To re-arrange the field display order, drag and drop the tiles under the “Selected grid headers” section.
Set whether to display SUM for numeric values.
Set the initial number of records per page if the number of records exceed five.
Save and close the new configuration record.
Setting up the grid on the form
Customize the “Settlement” form in our example.
Add a new tab if required in the form, then add a new Web Resource.
Select the Web Resource “dcmeg_dcmeghtml” for the editable grids. Set the field name and properties. In case of multiple grids, set the GUIDs from the configuration to the Custom Parameter.
In the formatting tab, set grid rows and uncheck “Display border”. Click Ok. Save and Publish form. Refresh “Settlement” form.
You should see a grid displaying selected fields from the “Invoice” entity as per configured.