SPClaimProvider.FillSearch-Methode
Bei der Implementierung in einer abgeleiteten Klasse füllt die Suchergebnisse im Fenster für die Personenauswahl-Steuerelements.
Namespace: Microsoft.SharePoint.Administration.Claims
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Protected MustOverride Sub FillSearch ( _
context As Uri, _
entityTypes As String(), _
searchPattern As String, _
hierarchyNodeID As String, _
maxCount As Integer, _
searchTree As SPProviderHierarchyTree _
)
'Usage
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
)
Parameter
context
Typ: System.UriDer Kontext, als URI. Dies muss ein korrekt formatierten URI sein.
entityTypes
Typ: []Die Entitätstypen [P:HYPERLINK"mk:@MSITStore:D:\\\\aSDK\\\\SP2010SDK.chm::/html/a4bf54d0-29e5-e5c2-231e-b1b9f4728a7f.htm"Microsoft.SharePoint.WebControls.PickerEntity.EntityType] legen Sie auf die Suche auf Bereich.
- searchPattern
Typ: System.String
hierarchyNodeID
Typ: System.StringDer eindeutige Bezeichner des Knotens Hierarchie.
maxCount
Typ: System.Int32Ein Int32 -Wert, der enthält die maximale Anzahl der Anbieter in der Liste zurückgegeben werden soll.
searchTree
Typ: Microsoft.SharePoint.WebControls.SPProviderHierarchyTreeDie Struktur, die sich mit den Satz von Übereinstimmungen gefüllt werden.
Hinweise
Wenn Sie nach Forderungen in das Steuerelement Personenauswahl suchen können möchten, müssen Sie diese Methode und [P:HYPERLINK"ms-help://MS.SPS14SDK.en/SPF14MrefAdmin/html/ba710e89-6180-0fec-fb79-090451f9ee43.htm"Microsoft.SharePoint.Administration.Claims.SupportSearch]-Eigenschaft implementieren.
Die SupportsSearch muss truezurückgeben.
Für Demo Zweck unterstützt die Suchfunktion nur den vollständigen Namen suchen. Wie Sie sehen können, unterstützt der Anspruchsanbieter beiden Ansprüche als Prinzipal: ' SalesManager ' und RegionManager. Sie können werden sie den Schutz von SharePoint-Objekte wie im Codebeispiel im Referenzthema FillEntityTypes() die Rollen ASP.NET verwendet, um das gleiche tun verwendet.
Sie müssen auch die FillResolve() -Methode implementieren, die einen SPClaim -Parameter akzeptiert. Diese Methode wird verwendet, um ein einzelnes Anspruch so überprüfen Sie das Vorhandensein der Forderung zu beheben. Die Personenauswahl suchen zuerst die Ansprüche FillSearch() -Methode verwenden. Nachdem der Benutzer eine der Forderungen umgegangen wird, ruft der Personenauswahl FillResolve() um erneut zu überprüfen.
Beispielcode bereitgestellt von:Sample code provided by: Andy Li, Microsoft Corporation.
Beispiele
// 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);
}
}