We all know that SharePoint can be a powerful tool that is very versatile. But like any software out there, it’s not always perfect, and it doesn’t do absolutely everything we need.
One of the drawbacks of Sharepoint is that it does not allow granting access per views. But there are tricks to overcome this issue. If you want to restrict access to the lists’ data the easiest thing to do is to create filters for your views.
When you create the view just scroll down to the Filter section and change the settings to only show items only when your conditions are met. The easiest condition that will restrict access is: Created By is equal to [Me]
This will only show users the items that were added to the list by them.
Another option is to create a column in your list that has the Person or Group data type and make it a required column. This way users will be forced to select a Sharepoint user for this column that can be then set as a filter.
For demonstrative purposes we have named this column Supervisor. When people add data to the list they are forced by the form to add a SharePoint user in the Supervisor column. The view will then restrict that data to be shown only for the person’s supervisor.
Of course you will ask, “What if I need users to see everything?” This can be easily implemented. Make sure that the views you created with filters are set as public and more importantly default views. The users that need to view all items will be added to a group that will have let’s say Design permissions. In our case the Design permission also include: “Manage Personal Views – Create, change, and delete personal views of lists.” This setting can be easily edited in Site Permissions – Permission Levels.
The users belonging to the group that has Design permission will be able to create their own private views that do not have any filters, therefore displaying all the lists’ data.