Had a customer which had a large amount of raw data to be copied over the to a List in SharePoint & hence decided to use the default DataSheet view for it . Along with regular data ( text , Numbers ) we had a Column of Type People or group & the data being copied into that filed was a user’s Login ID in format Domain\Login . The issue seen was that while this worked for few rows i.e. the names / accounts were resolved , while for others it would throw an error ..
" The Text entered for the CustomPeople isn’t an item from the list. Select an item from the list, or enter text that matches one of the listed items"
The Behavior seen is by design & here is the explanation for it
1. Create a People or Group on a list . You have to specify how the values in this column show up , like First Name, Lastname, Username, Account , Email etc ..
2. This column looks & behaves like a Normal People picker column in Sharepoint UI , so Check Name / Browse functionality works as expected .
3. When you Switch the View to a Datasheet view, The list & it columns Render in Access Runtime & their is no Interface between Access & Active directory to resolve users .
4. Thus in Datasheet view the SharePoint User/Group columns work on the userInfo list & all Name resolutions happens based on contents of this list & anyone who is not there cannot be Resolved or Saved .
This is how it looks like when I have set the People or Group column set with ShowField=Account & hence I can see Account names of Folks in my userinfo list on the site collection .
Please Note: You have to type the data in Datasheet Cell in the same format as you have specified to be displayed in this column for Successful resolution . Foreg. If you plan to Add a User who already has permissions ( Added to Userinfo table )
Using an Email value , the Profile of that user should have that value populated for it to show up when you try to add the value in the cell.
The workaround to the behavior seen is to ensure that users are added to the site collection somehow before you try add them to a People/Group column in datasheet view . The best way to do that is to Add then to a Sharepoint group & the permissions of that group can be controlled as required . Also the Lookup for this Column can be restricted to Members of that group via the properties of the column as needed .