I have a list of 10 employees. I want the managers to be able to view all 10 row items. However for the employees I only want them to be able to view their own row id. Note each id includes a column for Employee Name (name/person field type) and their ID (LAN ID)
You could use a workflow to set item level permissions. This blog post might help: http://spcycle.blogspot.nl/2012/01/how-to-create-workflow-to-change-item.html
To set unique permissions on List Items, you will have stop inheriting permissions from the parent.
From your question I can analyse 2 things
- Provide access to Managers to see all of the items in a List
- An employee should see only his/her item in a list.
I suggest to create a SharePoint group for Managers and add all of them in it. And follow below manual steps.
- Go to a list item, and navigate to advanced sharing page.
From ribbon click on
Once inheritance is broken, again from ribbon click on
Grant Permissionsbutton. This will bring you a pop up, where you can assign permissions to the Managers Group and to that Single Employee to whom this item belongs
Note: Above are manual steps to be performed on each list item, which can be annoying for more number of list items. In this case you can PowerShell script the entire process.
Firstly, give managers full access to the list and other employess contribute permissions on the list. Then go to List Settings -> Advanced Settings and Specify Read and Edit Access. For example, here you may select "Read items that were created by the user" for Read access.
The [ME] option suggested by Programmer seems to be the best solution here. As for alternatives:
1) Can the managers set permissions? If yes, you can break permission inheritance per each item, and grant permissions for each user individually
2) Alternatively, you can use workflows. With an impersonation step, you should be able to remove the permissions for existing users and assign e.g. read to the employee based on the Employee column