IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Sharepoint .NET Discussion :

Afficher les elements d'une liste [Débutant]


Sujet :

Développement Sharepoint .NET

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2012
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 70
    Points : 61
    Points
    61
    Par défaut Afficher les elements d'une liste
    Bonjour,
    J'essaie actuellement de créer une WebPart SharePoint 2013 calendrier qui synchronise tous les calendriers de ma collection de sites en un seul.
    J'ai débuté mes premiers tests mais, je rencontre un problème pour afficher les champs (seulement "title" et "ID" marche).
    Une idée pour obtenir tous les champs de mon calendrier correctement ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
                NetworkCredential Credentials = new NetworkCredential("xxxx", "xxx", "xxxx");
                ClientContext context = new ClientContext("http://s-xxx");
                context.Credentials = Credentials;
     
                Web web = context.Web;
                context.Load(web, w => w.Webs, w => w.Webs.Include(x=>x.Lists));
                context.ExecuteQuery();
     
                foreach (Web site in web.Webs)
                {
     
                    foreach (List listItem in site.Lists)
                    {
     
                        if (listItem.BaseTemplate == 106)
                        {
     
     
     
                            CamlQuery camlQuery = new CamlQuery();
                            camlQuery.ViewXml = String.Format(
                            "<View><Query></Query></View>"
                            );
     
                            ListItemCollection CustomerResults = site.Lists.GetByTitle(listItem.Title).GetItems(camlQuery);
                            context.Load(CustomerResults);
     
                            context.Load(CustomerResults);
                            context.ExecuteQuery();
     
     
     
     
                            foreach (ListItem Client in CustomerResults)
                            {
                                Label1.Text += Client["Heure de fin"].ToString();
                            }
                        }

  2. #2
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Pourquoi utiliser du code client ? Une obligation ? SharePoint Online ?
    De souvenir, ton problème doit être au niveau du "load" de ton contexte... Ce dernier ne charge pas toutes les propriétés de tes différents objets !

    Essayes de rajouter tes champs dans la query (avec des tests à non null par exemple) cela devrait te permettre de récupérer les champs dont tu as besoin.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  3. #3
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Bonjour,

    je me permets de corriger votre code client, en reprenant un peu de la MSDN, ce que je te conseil fortement, j'ai pas testé, pas beaucoup relu, mais je dois pas être trop loin du code final :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    ClientContext clientContext = new ClientContext(siteUrl);
                Web oWebsite = clientContext.Web;
                ListCollection collList = oWebsite.Lists;
     
     
     
    clientContext.Load(
                    collList,
                    lists => lists.Include(
                        list => list.Title,                   
                        list => list.BaseTemplate));
                clientContext.ExecuteQuery();
     
                foreach (SP.List oList in collList)
                {
     
    if (oList .BaseTemplate == 106)
                        {
     
    ListItemCollection customerResults = oList .Items;
     
     clientContext.Load(
                    customerResults ,
                    items => items.Include(
                        item=> item["Heure de début"]));
     
                clientContext.ExecuteQuery();
     
     
      foreach (ListItem Client in CustomerResults)
                            {
                                Label1.Text += Client["Heure de fin"].ToString();
                            }
     
    }
     
     
                }
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  4. #4
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Synthèse de l'utilisation de l'utilisation des liste en javascript SP2013 : http://msdn.microsoft.com
    Tu devrais y trouver ton bonheur !
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2012
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 70
    Points : 61
    Points
    61
    Par défaut
    Merci de vos réponses, je vais tester tout ça. Une question pour Lapinpanda, en utilisant cette méthode les éléments de mon calendrier s'afficheront en fonction des droits de l'utilisateur connecté ? L'intégration de la Webpart sur ma page ne forcera pas les utilisateurs anonymes à ce log ?

    Pourquoi utiliser du code client ? Une obligation ? SharePoint Online ?
    Aucune raison particulière. Oui SharePoint sera visible de l'extérieur (par des visiteurs anonymes).

  6. #6
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par mlio91 Voir le message
    Merci de vos réponses, je vais tester tout ça. Une question pour Lapinpanda, en utilisant cette méthode les éléments de mon calendrier s'afficheront en fonction des droits de l'utilisateur connecté ? L'intégration de la Webpart sur ma page ne forcera pas les utilisateurs anonymes à ce log ?
    Pas de soucis, la requête est faite avec le compte de l'utilisateur courant, donc il ne verra que ce qu'il pourra
    Citation Envoyé par mlio91 Voir le message
    Aucune raison particulière. Oui SharePoint sera visible de l'extérieur (par des visiteurs anonymes).
    Pourquoi faire simple quand on peu faire compliqué...
    Le code client va avoir des comportements différents en fonction des navigateurs, il peut ne pas s'exécuter si il y'a une erreur js dans la page etc...
    Rien ne vaut un bon code serveur quand cela est possible ! (question de point de vu bien entendu... )
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2012
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 70
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par ludojojo Voir le message
    Pas de soucis, la requête est faite avec le compte de l'utilisateur courant, donc il ne verra que ce qu'il pourra
    Pourquoi faire simple quand on peu faire compliqué...
    Le code client va avoir des comportements différents en fonction des navigateurs, il peut ne pas s'exécuter si il y'a une erreur js dans la page etc...
    Rien ne vaut un bon code serveur quand cela est possible ! (question de point de vu bien entendu... )
    Merci pour cette info c'est bon à savoir
    Pour mon problème j'ai enfin trouvé la solution: Mètre le nom des colonnes en anglais !!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    calItem.StartDate = (DateTime)listItem["EventDate"];
     calItem.EndDate = (DateTime)listItem["EndDate"];
    Merci à vous deux pour l'aide et les conseils

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parcourir et afficher les elements d'une liste chainee
    Par student_ dans le forum Débuter
    Réponses: 15
    Dernier message: 22/12/2009, 21h48
  2. afficher les element d'une file
    Par jalilc dans le forum C
    Réponses: 16
    Dernier message: 23/05/2006, 18h15
  3. Rechercher les element d'une liste dans une autre liste
    Par fessebleu dans le forum Langage
    Réponses: 30
    Dernier message: 24/04/2006, 21h23
  4. afficher les contenu d'une liste dynamiquement
    Par mzt.insat dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/04/2006, 18h02
  5. Réponses: 29
    Dernier message: 03/11/2005, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo