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 :

Développement JavaScript : système de filtre


Sujet :

Développement Sharepoint .NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 36
    Points : 23
    Points
    23
    Par défaut Développement JavaScript : système de filtre
    Bonjour,

    Je suis actuellement en train de réaliser un outil sur un site WSS 3.0. J'utilise SharePoint Designer donc je ne fais que du développement coté client avec du JavaScript.
    J'utilise d'ailleurs les bibliothèques jQuery spécifiquement à SharePoint disponibles sur internet. Le problème c'est que je cherche le code qui me permet de filtrer une liste avec une autre liste car la Web Part filtre qui existe ne convient pas.
    Je cherche donc une documentation expliquant comment réaliser ceci.

    J’espère être clair.
    Cordialement.

  2. #2
    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,

    Qu'entends tu pas "filter une liste avec une autre liste"?

    Il existe une library qui permet de faire du filtre en cascade, mais cela intervient dans le formulaire, sur des colonnes, je ne connais aucun script qui filtre une liste entière grâce à une autre liste en tout cas.
    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é

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 36
    Points : 23
    Points
    23
    Par défaut
    Bonjour et merci,

    Alors je vais expliquer se que je recherche à faire en donnant un exemple:

    J'affiche 4 listes sur une page dont une nommée "Applications" liée aux 3 autres par une colonne lookup.
    Je souhaite filtrer les autres listes en fonction de l'item selectionné dans la liste "Applications".

    Le problème avec la Web Part filtre proposée c'est qu'on peut seulement établir une seule connexion et non 3 comme je voudrais le faire.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 36
    Points : 23
    Points
    23
    Par défaut
    Problème résolu, j'utilise des requête CAML.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Es ce que tu peux me donner ton code samsam72

    Merci

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Je suis sur un projet SharePoint2010 sur visual studio 2010
    je dois créer un formulaire (une web part) de saisie des heures pour les chefs de projets qui contiendra les champs suivants

    Un menu déroulant en HTML "Projet"
    Un menu déroulant en HTML "Lot"
    Un menu déroulant en HTML "Article"
    chaque projet a sa propre liste des lots et chaque Lot a sa propre liste Article
    sachant que chaque liste est stockée dans Sharepoint

    Quand je me connecte avec mon identifiant et Mot De Passe sur le site concerné et que je clique sur le menu déroulant projet il dois m afficher tous les projet qui sont a moi uniquement pas a autre salarié.


    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
    sing System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Utilities;
     
    namespace Saisie_des_heures_v5.VisualWebPart1
    {
        public partial class BS_Collab___Taches_de_la_CollectionUserControl : UserControl
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (Request.HttpMethod == "POST" && Request.Form["idc"] == "01")
                {
                    using (SPSite site = new SPSite(SPContext.Current.Web.Url))
                    {
                        using (SPWeb web = site.OpenWeb())
                        {
                            //On parcourt les Projets afféctés a l'utilisateur courant vias Liste Affaires
                            SPList mylist1 = web.Lists["Base Affaires"];
     
                            //On filtre sur les Projets qui sont affectées à l'utilisateur courant
                             SPQuery query1 = new SPQuery();
     
    query1.Query = "<Where><Or><Eq><FieldRef Name='Chefs_x0020_de_x0020_Projets' /><Value Type='Integer'><UserID Type='Integer'/></Value></Eq><Eq><FieldRef Name='Collaborateurs_x0020_Affect_x00e' /><ValueType='Integer'><UserID Type='Integer' /></Value></Eq></Or></Where>";
     
                           //retourner une collection élément de la liste et l'affecter à un objet SPListItemCollection 
                            SPListItemCollection items1 = mylist1.GetItems(query1);
                            Response.Write("<select id = projet>");
     
                            //Parcourir les tableaux (affaichage)
                            foreach (SPListItem item in items1)
                            {
                                string id = SPEncode.HtmlEncode(item["ID"].ToString());
                                //string projet = SPEncode.HtmlEncode(item["Title"].ToString());
                                string projet = SPEncode.NoEncode(item["Title"].ToString());
     
                                Response.Write("<option value='" + id + "|" + projet + "'>" + projet + "</option>");
                            }
                            Response.Write("</select>");
                            Response.End();
                        }
                    }
               }
    es ce que pour que ma liste déroulante "Lot" me charge tous les lot du projet choisis je dois aussi faire pareil pour la liste lot comme j'ai fais juste en dessus ????? ou bien je garde le code comme il est

    Quand je choisis un projet faut que la liste "Lot" soit m afficher tous les lot de ce projet et en choisissant un lot la liste "Article" doit m afficher les articles du lot déjà choisis

    Je sais que y a des script a faire coté client et sevrer dans mon fichier

    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    script type="text/javascript"> 
     
    Du cote du mon fichier ascx jai ce script 
     
        //On demande au C# de charger la liste des Projets affectés à l'utilisateur courant
     
         var $projet = $('#affaires');          
        var $lot = $('#lots');                
        var $article = $('#article');       
        var $unite = $('#basearticles'); 
     
        $(document).ready(function () {
            $.ajax({
                type: "POST",
                url: window.location,
                data: "idc=01",
                contentType: "application/x-www-form-urlencoded",
                IsLookup: "true",
                success: function (msg) {
                    $('#affaires').html(msg);
                }
            }); 
     
        // à la sélection d'un Projet dans la liste Affaires, On charge tous ses Lots
     
            $projet.on('change', function () {
            // On récupère la valeur du Projet
            var val1 = $(this).val();
            // On vide la liste des Lot
            if(val1 != '') {
                $lot.empty();                                                        
                $.ajax({
                    url: "WINDOW.LOCATION",
                   // On envoie $_POST['id_projet']
                    data: 'idc='+ val1,                                               
                    contentType: "application/x-www-form-urlencoded",
                    success: function(msg) {
                        $.each(msg, function(index, value) {
                            $lot.append('<option value="'+ index +'">'+ value +'</option>');
                        });
                    }
                });
            }
        }); 
     
        // à la sélection d'un Lot, On charge tous ses Articles
           $lot.on('change', function () {
            // On récupère la valeur de l'article
            var val2 = $(this).val();
            // On vide la liste des Lot
            if (val2 != '') {
                $article.empty();
                $.ajax({
                    url: "WINDOW.LOCATION",
                    // On envoie $_POST['id_lot']
                    data: 'idc=' + val2,
                    contentType: "application/x-www-form-urlencoded",
                    success: function (msg) {
                        $.each(msg, function (index, value) {
                            $article.append('<option value="' + index + '">' + value + '</option>');
                        });
                    }
                });
            }
        }); 
        // à la sélection d'un Article, On charge son Unité
           $article.on('change', function () {
            // On récupère la valeur de l'article
            var val3 = $(this).val();
            // On vide la liste des Articles
     
            if (val3 != '') {
                $unite.empty();
                $.ajax({
                    url: "WINDOW.LOCATION",
                    // On envoie $_POST['id_article']
                    data: 'idc=' + val3,
                    contentType: "application/x-www-form-urlencoded",
                    success: function (msg) {
                        $.each(msg, function (index, value) {
                            $unite.append('<option value="' + index + '">' + value + '</option>');
                        });
                    }
                });
            }
        });
    });

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    Je fait pas du C# pour le SharePoint, uniquement du script.

    J'ai pas compris ce que tu cherches comme script exactement.

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

Discussions similaires

  1. [Divers] Développement gros systèmes
    Par Laeticia dans le forum Cobol
    Réponses: 9
    Dernier message: 05/06/2006, 15h22

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