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

SharePoint .NET Discussion :

Colonnes en cascade bibliothèque de documents


Sujet :

SharePoint .NET

  1. #1
    Membre du Club
    Inscrit en
    Juin 2012
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 64
    Points : 53
    Points
    53
    Par défaut Colonnes en cascade bibliothèque de documents
    Bonjour à tous,

    J'ai créé une première liste appelée Categorie avec uniquement présent un champ Title
    J'ai créé une seconde liste appelée Dossiers avec un champ Title et un champ recherche appelé Categorie pointant sur Title de la liste Categorie
    J'ai ensuite créé une bibliothèque de documents, et ajouté deux colonnes supplémentaires appelée Categorie et Dossier, pointant respectivement sur les listes Categorie et Dossier, et mis en place une webpart éditeur de contenu avec le script suivant :

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <script src="https://code.jquery.com/jquery-1.10.1.min.js"></script><script type="text/javascript">
        $(document).ready(function() {
     
            HillbillyCascade({
                parentFormField: "Categorie", //Display name on form of field from parent list
                childList: "Dossiers", //List name of child list
                childLookupField: "Title", //Internal field name in Child List used in lookup
                childFormField: "Dossier", //Display name on form of the child field
                parentFieldInChildList: "Categorie" //Internal field name in Child List of the parent field
            });
     
        });
     
        function HillbillyCascade(params)
        {
     
            var parent = $("select[Title='"+params.parentFormField+"'], select[Title='"+
                params.parentFormField+" Required Field']");
     
            $(parent).change(function(){
                DoHillbillyCascade(this.value,params);        
            });
     
            var currentParent = $(parent).val();
            if (currentParent != 0)        
            {
                DoHillbillyCascade(currentParent,params);
            }
     
        }
     
     
        function DoHillbillyCascade(parentID,params)
        {
     
            var child = $("select[Title='"+params.childFormField+"'], select[Title='"+
                params.childFormField+" Required Field']," +
               "select[Title='"+params.childFormField+" possible values']");
     
            $(child).empty();
     
            var options = "";
     
            var call = $.ajax({
                url: _spPageContextInfo.webAbsoluteUrl + "/_api/Web/Lists/GetByTitle('"+params.childList+
                    "')/items?$select=Id,"+params.childLookupField+","+params.parentFieldInChildList+
                    "/Id&$expand="+params.parentFieldInChildList+"/Id&$filter="+params.parentFieldInChildList+
                    "/Id eq "+ parentID,
                type: "GET",
                dataType: "json",
                headers: {
                    Accept: "application/json;odata=verbose"
                }
     
            });
            call.done(function (data,textStatus, jqXHR){
     
                for (index in data.d.results)
                {
                    options += "<option value='"+ data.d.results[index].Id +"'>"+
                        data.d.results[index][params.childLookupField]+"</option>";
                }
                $(child).append(options);
     
            });
            call.fail(function (jqXHR,textStatus,errorThrown){
                alert("Error retrieving information from list: " + params.childList + jqXHR.responseText);
                $(child).append(options);
            });
     
        }
     
    </script>
    Je teste, document par document, en modifier les propriétés.
    Résultat, ça marche.
    Je choisis la categorie et j'ai un filtre sur les dossiers et non pas tous les dossiers de la liste.

    J'essaye d'implémenter le même script en modification rapide (en plaçant en bas une webpart éditeur de contenu), j'imagine qu'il faut que je modifie avec un array pour bien cibler la bonne cellule et ça ne marche plus. Je ne sais pas comment faire, s'il y a des personnes qui ont déjà été confrontés au souci et quel est le code à implémenter en modification rapide

    Je vois aussi que sur la page internet où ce script est donné, http://www.markrackley.net/2014/05/2...65-using-rest/ que le nombre de résultats serait limité à 100 et que les résultats des colonnes ne seraient pas triées, la personne conseillant d'ajouter le paramètre $top à la requête pour retourner plus de résultats et une clause order by pour trier les résultats

  2. #2
    Membre du Club
    Inscrit en
    Juin 2012
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 64
    Points : 53
    Points
    53
    Par défaut
    De ce que j'ai lu, mettre en place cette fonctionnalité avec la Modification Rapide (Quick Edit View) n'est pas possible, j'ai vu de nombreuses demandes similaires à la mienne.

    Cela me surprend quelque peu, car cela aurait été une fonctionnalité bien pratique pour les utilisateurs.

    Cf :

    SPCascadeDropdowns does not work with the "Quick Edit" view - aka the new Datasheet view - in SharePoint 2013 as of SPServices 2013.01.

Discussions similaires

  1. ajouter une colonne de type ATTACHMENT FIELD à une bibliothèque de document
    Par chrisade dans le forum Développement Sharepoint
    Réponses: 3
    Dernier message: 19/11/2009, 11h55
  2. [WSS 3.0] Questions lien AD et bibliothèque de documents
    Par solveig dans le forum SharePoint
    Réponses: 6
    Dernier message: 21/07/2008, 11h05
  3. Réponses: 6
    Dernier message: 30/05/2007, 10h41
  4. Réponses: 4
    Dernier message: 05/02/2007, 22h31
  5. Bibliothèques et documentation
    Par Anonymous dans le forum OpenGL
    Réponses: 4
    Dernier message: 01/04/2002, 12h24

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