del método SPClaimProvider.FillSearch
Cuando se implementa en una clase derivada, rellena los resultados de búsqueda en la ventana del control de selector de personas.
Espacio de nombres: Microsoft.SharePoint.Administration.Claims
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Protected MustOverride Sub FillSearch ( _
context As Uri, _
entityTypes As String(), _
searchPattern As String, _
hierarchyNodeID As String, _
maxCount As Integer, _
searchTree As SPProviderHierarchyTree _
)
'Uso
Dim context As Uri
Dim entityTypes As String()
Dim searchPattern As String
Dim hierarchyNodeID As String
Dim maxCount As Integer
Dim searchTree As SPProviderHierarchyTree
Me.FillSearch(context, entityTypes, _
searchPattern, hierarchyNodeID, _
maxCount, searchTree)
protected abstract void FillSearch(
Uri context,
string[] entityTypes,
string searchPattern,
string hierarchyNodeID,
int maxCount,
SPProviderHierarchyTree searchTree
)
Parámetros
context
Tipo: System.UriEl contexto, como un identificador URI. Esto debe ser un URI con el formato correcto.
entityTypes
Tipo: []Establecen los tipos de entidad [P:HYPERLINK"mk:@MSITStore:D:\\\\aSDK\\\\SP2010SDK.chm::/html/a4bf54d0-29e5-e5c2-231e-b1b9f4728a7f.htm"Microsoft.SharePoint.WebControls.PickerEntity.EntityType] para establecer el ámbito de la búsqueda.
- searchPattern
Tipo: System.String
hierarchyNodeID
Tipo: System.StringEl identificador único del nodo de jerarquía.
maxCount
Tipo: System.Int32Un valor de Int32 que contiene el número máximo de proveedores que se devuelve en la lista.
searchTree
Tipo: Microsoft.SharePoint.WebControls.SPProviderHierarchyTreeEl árbol que se rellenará con el conjunto de resultados de búsqueda.
Comentarios
Si desea poder buscar notificaciones en el control de selector de personas, debe implementar esta propiedad método y [P:HYPERLINK"ms-help://MS.SPS14SDK.en/SPF14MrefAdmin/html/ba710e89-6180-0fec-fb79-090451f9ee43.htm"Microsoft.SharePoint.Administration.Claims.SupportSearch].
El SupportsSearch debe devolver true.
Con fines de demostración, la función de búsqueda solo admite la búsqueda de nombre completo. Como puede ver, el proveedor de notificaciones admite dos notificaciones como entidad de seguridad: jefe de ventas y RegionManager. Pueden ser utilizado para proteger objetos de SharePoint, al igual que el ejemplo de código en el tema de referencia de FillEntityTypes() usa las funciones de ASP.NET para hacer lo mismo.
También se debe implementar el método FillResolve() que toma un parámetro de SPClaim . Este método se usa para resolver una notificación única para comprobar la existencia de la notificación. El selector de personas de búsqueda en primer lugar las notificaciones mediante el método FillSearch() . Una vez que el usuario selecciona una de las notificaciones, el selector de personas llama a FillResolve() para comprobar de nuevo.
Ejemplo de código proporcionado por:Sample code provided by: Andy Li, Microsoft Corporation.
Ejemplos
// Returns true if you support claim search in the People Picker control.
public override bool SupportsSearch
{
get { return true; }
}
protected override void FillSearch(Uri context, string[] entityTypes, string searchPattern, string hierarchyNodeID, int maxCount, SPProviderHierarchyTree searchTree)
{
if (searchPattern.ToUpper() == "SALESMANAGER")
{
PickerEntity entity = CreatePickerEntity();
entity.Claim = CreateClaim(CRMClaimType.Role, CRMRoleValue.SalesManager, Microsoft.IdentityModel.Claims.ClaimValueTypes.String);
entity.Description = CRMRoleValue.SalesManager;
entity.DisplayText = CRMRoleValue.SalesManager;
entity.EntityData[PeopleEditorEntityDataKeys.DisplayName] = CRMRoleValue.SalesManager;
entity.EntityType = SPClaimEntityTypes.FormsRole;
entity.IsResolved = true;
searchTree.AddEntity(entity);
}
if (searchPattern.ToUpper() == "REGIONMANAGER")
{
PickerEntity entity = CreatePickerEntity();
entity.Claim = CreateClaim(CRMClaimType.Role, CRMRoleValue.RegionManager, Microsoft.IdentityModel.Claims.ClaimValueTypes.String);
entity.Description = CRMRoleValue.RegionManager;
entity.DisplayText = CRMRoleValue.RegionManager;
entity.EntityData[PeopleEditorEntityDataKeys.DisplayName] = CRMRoleValue.RegionManager;
entity.EntityType = SPClaimEntityTypes.FormsRole;
entity.IsResolved = true;
searchTree.AddEntity(entity);
}
}
Vea también
Referencia
Espacio de nombres Microsoft.SharePoint.Administration.Claims