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 :

affichage contenu d'un dossier XsltListViewWebPart [Débutant]


Sujet :

Développement Sharepoint .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 33
    Par défaut affichage contenu d'un dossier XsltListViewWebPart
    Bnjour a tous,

    j'ai un petit probleme avec le updatepanel.
    j'ai cree un treeview en html, ce treeview affiche une biblithèque de documents et les folders (sous-folders) qui contient.
    Si je clique sur un folder ou sous folder du treeview -> le contenu de ce dernier s'affiche dans le updatepanel (sans refresh de la page).

    j'ai utilisé le spquery avec spview pour l'afficher dans le XsltListViewWebPart mais je n'ai pas réussi a le faire.
    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
    41
    42
     
    protected void btn_updatepanel_Click(object sender, EventArgs e)        
            {
                try
                {
                    SPWeb web = SPContext.Current.Site.OpenWeb();
                    SPList list = web.Lists.TryGetList(LibraryName);
     
                    if (list != null && list.BaseTemplate == SPListTemplateType.DocumentLibrary)
                    {
                        XsltListViewWebPart _webpart = new XsltListViewWebPart();                
                        SPFolder folder = web.GetFolder(LibraryUrl);
     
     
                        SPQuery query = new SPQuery();
                       //query.Folder = folder;
                        //query.ViewAttributes = "Scope='Recursive'";
                        query.Query = string.Format(@"<Where>
                                                            <Contains>
                                                                <FieldRef Name='FileDirRef' />
                                                                 <Value Type='Text'>{0}</Value>
                                                             </Contains>                       
                                                        </Where>", folder.Name);
                        SPView view = list.Views[_ViewName];
                       view.Query = query.Query;
                        view.Update();
     
                        _webpart.ViewGuid = view.ID.ToString("B").ToUpper(CultureInfo.InvariantCulture);
                        _webpart.ViewId = Int32.Parse(view.BaseViewID);
                        _webpart.XmlDefinition = view.GetViewXml();
     
                        _webpart.ListId = list.ID;
                        _webpart.Title = list.Title;
     
                        updatepanel.Controls.Add(_webpart);
                    }
                }
                catch (Exception)
                {                
                    throw;
                }
            }
    est-ce vous avez une idée pourquoi je ne vois qu'un affichage de liste vide ?

    Merci d'avance.
    Hmoad

  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 : 39
    Localisation : France

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

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

    Dans un premier temps, vérifie que ta requête est bonne et qu'elle renvoi bien des éléments.
    Ensuite, je trouve ça un peut violent de reprovisionner la webpart à chaque clique... Il faudrait plutôt rafraichir l'affichage.
    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
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 33
    Par défaut
    Bonjour,

    Dans un premier temps, vérifie que ta requête est bonne et qu'elle renvoi bien des éléments.
    Comment faire pour vérifier ? j'utilise le U2U CAML Query Builder, mais cet outil ne filtre pas les subfolders.
    j'ai modifié ma requete comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    query.Query = string.Format(@"<Where><And>
                                                            <Contains>
                                                                <FieldRef Name='FileDirRef' />
                                                                 <Value Type='Text'>{0}</Value>
                                                             </Contains>  
                        <Eq><FieldRef Name='ContentType' /><Value Type='Computed'>Folder</Value></Eq>
                                                        </And></Where>", folder.Name);
    mais pas de resultat.

    Ensuite, je trouve ça un peut violent de reprovisionner la webpart à chaque clique... Il faudrait plutôt rafraichir l'affichage.
    Le but est de ne pas charger toute la page (question de temps de reponse parce qu'il y'a dautres control dans la meme page).ensuite, si je recharge la page, je perds le selected folder dans le treeview.

  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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par hmoad Voir le message
    Comment faire pour vérifier ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SPListItemCollection items = list.GetItems(query);
    if(items.Count > 0)
    {
        //TODO
    }
    else
    {
        //Message d'erreur, pas de résultat
    }
    Citation Envoyé par hmoad Voir le message
    Le but est de ne pas charger toute la page (question de temps de reponse parce qu'il y'a dautres control dans la meme page).ensuite, si je recharge la page, je perds le selected folder dans le treeview.
    Je comprend bien ton problème, mais dans ce cas, tu pourrait par exemple aller chercher ta webpart qui existe dans ta page/Panel, plutôt que d'en créer une nouvelle à chaque fois.
    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 averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 33
    Par défaut
    tu pourrait par exemple aller chercher ta webpart qui existe dans ta page/Panel, plutôt que d'en créer une nouvelle à chaque fois.
    tu peux expliquer STP. je ne vois pas ton idée.

    Merci d'avance

  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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Dans ton exemple, à chaque clique sur ton trigger, tu créés une nouvelle webpart de type XslListViewWebPart.
    L'idée est de dire que si tu as déjà une WebPart dans ton update panel, alors tu n'en créé pas une nouvelle mais va chercher se control pour en changer les propriétés et ainsi mettre à jour ta vue.

    Pour cela tu peux utiliser la méthode FindControl
    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

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/03/2011, 16h53
  2. [MySQL] affichage d'une photo contenu dans un dossier upload et base de données
    Par keurdeloup45 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/01/2009, 17h39
  3. Affichage du contenu d'un dossier
    Par Munkey74 dans le forum Web
    Réponses: 3
    Dernier message: 19/06/2007, 10h16
  4. [JTree] Affichage des Noms de dossiers
    Par Dextro dans le forum Composants
    Réponses: 3
    Dernier message: 04/05/2005, 13h54
  5. afficher le contenu d'un dossier distant
    Par roots_man dans le forum ASP
    Réponses: 3
    Dernier message: 04/02/2005, 18h23

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