How to restrict a user to modify certain columns in a list in SP 2013(Office 365) RRS feed

  • Question

  • Hello Everyone,

    I am working on SP 2013 ONLINE (Office 365), I have a task list with 5 column names say Task Name, Start Date, End Date, Status, % Complete, here my requirement is when PMO inserts a task for a resource than resource after working on that tasks should be able to modify only Status and % Complete, he should not be able to modify the name start date or End Date, Can anyone suggest me how can I achieve this. I dont want to do any coding.

    Please help me out here. Thanks in Advance.

    Thanks and Regards,

    Raj Kamal Singh Rathore.

    Raj Kamal Singh Rathore

    Monday, October 21, 2013 6:48 AM


All replies

  • It can't be done easily. If a person has the permission to modify anything on an item they have permission to modify anything. The only ways to work around this are to use workflows to capture the information and make the changes on the user's behalf.

    In practical terms it is common to rely on user training to teach users not to make changes they shouldn't be performing and to rely on version history to provide an audit trail if a user does ignore instructions.

    Monday, October 21, 2013 7:41 AM
  • Hi Raj,

    You can also consider a custom New item form using SharePoint designer. In that custom form you can display only those fields which the user has to enter.

    To stop the users from editing those fields in the list view, you can create a new view and make the other columns are only readable columns. This can be done by changing the display mode of the column in the list view using SharePoint designer.



    sharath kumart shivarama

    Monday, October 21, 2013 8:41 AM
  • Hi Sharath,

    If we create a read only column than even the Project Manager will no be able to modigy the columns, here Project Manager should define a task with name, start date and end date. And Status and % Complete will be default values User must be able to edit these two values only.

    And also if we create Change the Form I think then PM will also be affected.

    Raj Kamal Singh Rathore

    Monday, October 21, 2013 10:17 AM
  • Hi Alex, Thanks for your reply, 

    I dont think work flows will be the appropriate solutions or i am not thinking in the right way, can you be more appropriate please.

    Raj Kamal Singh Rathore

    Monday, October 21, 2013 11:29 AM
  • Hi,

    You can achieve that using jquery. Copy the below script to a content editor web part and add that web part to the edit item form of your task list by editing the edit form page.

    <script type="text/javascript">

    $(document).ready(function() {

        $('input[title="Client Name"]').attr('readonly', true);
        $('input[title="Community Name"]').attr('readonly', true);


    Here "Client Name" and "Community Name" are the fields display names on the form, which you do not want to edit. You can add multiple fields like this.

    Hope this help you!


    Monday, October 21, 2013 1:22 PM
  • Tuesday, October 22, 2013 5:21 AM
  • You could also consider duplicate columns with calculated values equal to the ones you don't want change, then create a view with those columns hidden. in this way they can't edit the visible columns, they could still navigate to a different view or unhide the columns but it would give you some protection. This is assuming you use quick edit and not the form. 
    Thursday, February 22, 2018 4:37 PM
  • In your list main list, create a calculated field (I named mine SURNAME (read only).  In this example, the formula will be "= SURNAME"

    Then create a list view with that new field you just created. Nobody will be able to modify it.

    Sorry I can't show screen shot now.  It says I'm not authorized until my account is verified...

    Hope this help!

    Thursday, September 5, 2019 4:22 PM