ICustomMapping.Resolve - Méthode
Résout les différences dans les valeurs d'un ou plusieurs champs dans un élément de liste par rapport à sa valeur de client en cours, sa valeur en cours dans la base de données et sa valeur lorsque initialement extraites de la base de données.
Espace de noms : Microsoft.SharePoint.Linq
Assembly : Microsoft.SharePoint.Linq (dans Microsoft.SharePoint.Linq.dll)
Syntaxe
'Déclaration
Sub Resolve ( _
mode As RefreshMode, _
originalListItem As Object, _
databaseListItem As Object _
)
'Utilisation
Dim instance As ICustomMapping
Dim mode As RefreshMode
Dim originalListItem As Object
Dim databaseListItem As Object
instance.Resolve(mode, originalListItem, _
databaseListItem)
void Resolve(
RefreshMode mode,
Object originalListItem,
Object databaseListItem
)
Paramètres
mode
Type : Microsoft.SharePoint.Linq.RefreshModeUne valeur qui spécifie la règle à utiliser dans la résolution des différences.
originalListItem
Type : System.ObjectUn objet qui représente les valeurs de l'élément de liste lorsqu'il a été initialement extraites de la base de données de contenu par l'élément client et qui peut être casté en SPListItem.
databaseListItem
Type : System.ObjectUn objet qui représente les valeurs actuelles de l'élément de liste dans l'article de la base de données et qui peut être casté en SPListItem.
Exemples
Le code suivant montre un exemple d'implémentation de Resolve(RefreshMode, Object, Object). Dans cet exemple, la liste de livres (dont le type de contenu est livre) a nommé ISBN et UPCAde nouvelles colonnes.
public void Resolve(RefreshMode mode, object originalListObject, object databaseListObject)
{
SPListItem originalListItem = (SPListItem)originalListObject;
SPListItem databaseListItem = (SPListItem)databaseListObject;
if ((mode == RefreshMode.OverwriteCurrentValues)
||
((mode == RefreshMode.KeepChanges) && (this == originalListItem)))
{
this.ISBN = databaseListItem["ISBN"];
this.UPCA = databaseListItem["UPCA"];
}
else if (mode == RefreshMode.KeepChanges)
{
if (!(OriginalValues.Contains("ISBN")))
{
this.ISBN = databaseListItem["ISBN"];
}
if (!(OriginalValues.Contains("UPCA")))
{
this.UPCA = databaseListItem["UPCA"];
}
}
}
Public Sub Resolve(ByVal mode As RefreshMode, ByVal originalListObject As Object, ByVal databaseListObject As Object)
Dim originalListItem As SPListItem = CType(originalListObject, SPListItem)
Dim databaseListItem As SPListItem = CType(databaseListObject, SPListItem)
If (mode = RefreshMode.OverwriteCurrentValues) OrElse ((mode = RefreshMode.KeepChanges) AndAlso (Me Is originalListItem)) Then
Me.ISBN = databaseListItem("ISBN")
Me.UPCA = databaseListItem("UPCA")
ElseIf mode = RefreshMode.KeepChanges Then
If Not(OriginalValues.Contains("ISBN")) Then
Me.ISBN = databaseListItem("ISBN")
End If
If Not(OriginalValues.Contains("UPCA")) Then
Me.UPCA = databaseListItem("UPCA")
End If
End If
End Sub
Voir aussi
Référence
Microsoft.SharePoint.Linq - Espace de noms