2010-01-21 13 views
0

Je sais qu'un similar question a déjà été demandé, mais il récupère tous les éléments du champ Choix en utilisant le modèle d'objet Sharepoint. Je n'ai pas de modèle d'objet disponible pour moi. Je veux le faire en utilisant CAML ou quelque chose. Je ne pouvais pas trouver une requête CAML pour obtenir tous les éléments pour un champ de choix.Récupérer tous les éléments d'une colonne SharePoint Field Choice en utilisant ObjectModel

Tout pointeur dans la bonne direction sera vraiment apprécié.

Cordialement.

Répondre

1

Pouvez-vous utiliser les appels de service Web? Ce fil explique la lecture des choix à choix multiples d'un service Web: http://social.msdn.microsoft.com/Forums/en/sharepointdevelopment/thread/04a00936-7102-4ddc-aa7d-0be7e14e7692 Ce suivi post pourrait être utile aussi: http://mysharepointwork.blogspot.com/2009/10/sharepoint-web-services-get-choice.html

+0

services Web sont la seule façon que je peux penser pour obtenir les choix sans utiliser le modèle d'objet. –

+0

Oui, je peux utiliser les appels de service Web. Merci pour le conseil. Fonctionne comme un charme :) – shaibee

1

Il est en fait une autre façon d'obtenir les valeurs à l'aide Xelements

  using (var service = new SharePoint.Services.ListsSoapClient()) 
      { 
       service.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials; 

       var listName = "MyList"; 

       var xelement = service.GetList(listName); 
       var fieldName = "Category"; //My Field name 
       XNamespace ns = "http://schemas.microsoft.com/sharepoint/soap/"; 

       var selectedField = xelement.Descendants(ns + "Fields").Elements().Where(x => x.Attribute("Name").Value == fieldName).FirstOrDefault(); 
       if (selectedField != null) 
       { 
        var choices = selectedField.Elements(ns + "CHOICES").Elements().Where(x => x.Name == ns + "CHOICE").Select(x => x.Value).ToList(); 
        //Do something with choices 
       } 
      }