Hi,
I have a Power App form which populates a Share Point list.
I need a field that searches for the 'Key contact' for a request. (This isn't necessarily the person typing the request)
I have added a Modern Control drop down list and completed all the steps like I have successfully done using the Classic controls. However all I get are numbers - and it's not searchable.
Any help please?
Filter(Office365Users.SearchUserV2(
{
searchTerm: If(IsBlank(Self.SearchText), "a", Self.SearchText),
top: 20,
isSearchTermRequired:false
}
).value, !IsBlank(JobTitle))
Any updates on whether Microsoft will fix this? Seems like a basic ask to retain existing support for the SharePoint people picker. Modern controls are looking not so modern.
No, not working as it is an error, Microsoft need to fix and release, not seen any updates on when.
Did this method work? I tested but not working. Able to get search result but not able to select the record as the app doesn't allow. Kinda buggy since sometimes able to select but most of the time not.
But when I test, searching & selecting in the Modern Control Combobox using a Collection works fine but only limited to 999 records.
See the video from Reza Dorrani.
https://www.youtube.com/watch?v=uNSOqgxwZds
At 17mins in he shows how use the classic datacard for email/person picker - essentially copy the classic datacardvalue control and paste it into the Modern Forms Datacard and delete the original modern datacardvalue.
Gold!
Or you can simply use a "classic" combobox control. Just did a side-by-side comparison with the modern vs. the classic with the exact same "Items" property in both (the default like this: Choices([@Administrators].Administrator) ).
Classic works fine, returns any name in our 50K organization. Modern (which evidently means, "lame") does not return most people and is useless.
Nice work Microsoft... introduce a "modern' version of an existing feature that straight-up DOES NOT WORK... lmao
To address the limitation of a 999-item cap, consider adopting an alternative strategy by utilizing a modern combo box instead of a dropdown. For setting the item values, you can use the following approach with the Office365Users connector to dynamically search and filter users:
Office365Users.SearchUser({
searchTerm: ComboboxCanvas1.SearchText,
top: 50,
isSearchTermRequired: false
})
Configure the combo box to display the following user fields:
Implement an onChange event script to update the selected employee's information. You can use the following code snippet to set the EmpObject with the necessary details, ensuring seamless integration:
Set(EmpObject, { '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser", Claims: "i:0#.f|membership|" & Employee.Selected.Mail, Department: "", DisplayName: Employee.Selected.DisplayName, Email: Employee.Selected.Mail, JobTitle: "", Picture: "" } )
This method enhances flexibility and user experience by allowing dynamic searches and selections beyond the standard item limit, ensuring that you can efficiently manage and reference a large number of users within your application.
But even if this fixed the issue (and it doesn't) this only shows upto the top 999 people - what about the others...?
To integrate with SharePoint's People Column, slight modifications are necessary. Start by collecting user data with Office365Users.SearchUser. Then, enhance this list by adding a "Claims" column and selectively displaying desired attributes. The final step involves renaming the "Mail" column to "Email" for compatibility. This prepared collection can then be utilized as a data source in a modern dropdown. This approach facilitates smooth integration with SharePoint's People Column, ensuring user data is appropriately formatted and accessible.
WarrenBelz
223
Most Valuable Professional
MS.Ragavendar
110
stampcoin
97