knowledgecenter-breadcrum

Knowledge Center

03 Jul, 2022

How to lock fields on editable grid in D365 CE?

Posted on 03 Jul, 2022 by Admin, Posted in Dynamics 365 Power Platform Dynamics-365 Sales

How to lock fields on editable grid in D365 CE? Blogs

Introduction:
Recently I got a situation where I need to lock the fields in editable grid. I tried to find the solution on internet. I found a suggestion as to use business rule having scope to “Entity”. But it did not worked as it was locking the fields on forms also. Then I created another business rule having scope to “All Forms” to unlock fields. But it was unlocking the fields on grid also. So, decided to add a script on view load, but there is no event for that. There are only onSave and onRecordSelect handlers for views. Then I learned that whenever we try to edit a field the records automatically get selected. So, I can achieve desired result by adding script on onRecordSelect event handler.

In this blog I am going to explain how to lock fields on editable grid.

Step-by-Step:
Create a newscript web resource and add below code
function fnLockFields(executionContext) {
      let oFormContext = executionContext.getFormContext();
      if (oFormContext) {
          let arrFields = ["subject", "regardingobjectid", "ownerid"];
          let objEntity = oFormContext.data.entity;
          objEntity.attributes.forEach(function (attribute, i) {
                 if (arrFields.indexOf(attribute.getName()) > -1) {
                    let attributeToDisable = attribute.controls.get(0);
                    attributeToDisable.setDisabled(true);
                 }
          }
});
}

Now, go to Settings -> Customization -> Customize the System -> Entities(select your entity) -> Events -> Add Web resource library->Add OnRecordSelect event handler and add function name.

Pass the execution context as first parameter.
Save and publish.
Now, when you try to edit any locked attribute, selected attributes will be locked.

Comment

This is a Required Field

Loading

Comments

profile image

2 days ago

Sanyal Chavadkar

test

Reply .

Recent Updates

Blogs
07 Sep, 2023

Optimizing Storage with SubscriptionTrackingDeletedObject Cleanup

What is SubscriptionTrackingDeletedObject? The "SubscriptionTrackingDeletedObject" table is linked to the "DeletionService," which handles two types of cleanup: organization-wide and record-specific.…

READ MORE
Blogs
05 Sep, 2023

How to create real-time customer journeys in Dynamics 365 Marketing

Introduction: This blog will show how to create real-time customer journeys in Dynamics 365 Marketing. Customer journeys can be either…

READ MORE
Blogs
30 Aug, 2023

D365 CUSTOMER SERVICE: CUSTOMER 360 COMPONENT

Introduction: In Dynamics 365 (D365) Customer Service, the 'Customer 360' Component provides a comprehensive view of information and enables users…

READ MORE