kwizcom banner advertisement

How to Prevent SharePoint List or Columns from Deletion?

Scenario: We've a configuration list being used by a custom SharePoint application and we don't want to let the users to delete the configuration list in SharePoint. So how to prevent delete in SharePoint list?

The idea is: Set the "AllowDeletion" property of the SharePoint list or Library to false. These properties can be set programmatically using object mode code C# or PowerShell.

PowerShell script to Disable Delete on SharePoint List or Library:
#Get the Web
$web = Get-SPWeb "http://sharepoint.crescent.com/sites/pmo"

#Get the List
$list = $web.Lists["Design Documents"]

#Set the "AllowDeletion" property
$List.AllowDeletion=$false
$List.Update()

"Delete this document library" or "Delete this list" link will go hidden under list settings!
sharepoint 2010 delete this list option missing

We can use the C# code as well to disable delete option on SharePoint list and libraries:
using(SPSite site = new SPSite("http://sharepoint.crescent.com/sites/pmo"))
 {
  using(SPWeb web = site.OpenWeb())
   {
       SPList list = web.Lists["Design Documents];
       list.AllowDeletion = false;
       list.Update();
    }
 }

Same trick applies to SharePoint list columns as well. Sett the field's "AllowDeletion" property to false to prevent the field from deletion. Here is an example: Typical SharePoint list columns will look like:
PowerShell script to Disable Delete on SharePoint List or Library
Lets prevent the column from deletion by setting "AllowDeletion" property to false.

PowerShell script to disable delete on list columns:
#Get the Web
$web = Get-SPWeb "http://sharepoint.crescent.com/sites/pmo"

#Get the List
$list = $web.Lists["Design Documents"]

#Get the column
$column = $list.Fields["Category"]

#Disable Delete
$column.AllowDeletion = $false
$column.Update()
 
$web.Dispose()
Output:
sharepoint 2010 unable to delete list column
Now, the reverse: Delete Button Missing in SharePoint Column? Here is How to Delete them.
How to Prevent SharePoint List or Columns from Deletion? How to Prevent SharePoint List or Columns from Deletion? Reviewed by Salaudeen Rajack on June 17, 2013 Rating: 5

2 comments:

  1. hi
    Can i have event receiver to prevent deletion of column for a list ?

    -Jiniv
    jinivthakkar@gmail.com

    ReplyDelete
    Replies
    1. Yes! from SharePoint 2010, We've FieldDeleting Event in List event receivers. Can utilize that too!

      Delete

Please Login and comment to get your questions answered!

Powered by Blogger.