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 :

[SP-2010] Avez-vous deja essayé les lookup en cascade ?


Sujet :

Développement Sharepoint .NET

  1. #21
    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
    il faut que tu combine du jQuery.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(document).ready(function() {
       // put all your jQuery goodness in here.
    //call SPSERVICES
     });

  2. #22
    Membre du Club
    Homme Profil pro
    Chef de projets
    Inscrit en
    Août 2002
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2002
    Messages : 79
    Points : 68
    Points
    68
    Par défaut
    D'après ce que j'ai compris, tout ce qu'on met dans le $(document).ready(function()) est traité après le chargement complet de la page (donc après le chargement de toutes les données des listes).

    Pour modifier le contenu de la liste, il faut donc que je mette mes instructions avant $(document).ready(function() mais les fonctions de jQuery sont-elles utilisables en dehors du bloc $(document).ready(function()).

    J'ai essayé de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $().SPServices({
    	    operation: "GetListItems",
    	    async: false,
    	    listName: "BaseArtArticles",
    	    CAMLquery: "<Query><Where><FieldRef Name='Title'/><Value Type='Text'></Value></Where></Query>",
    	    debug: true
    	 });
    avant $(document).ready(function()) mais ça ne semble pas fonctionner.

  3. #23
    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
    pour utiliser SPServices :
    tu dois réferencer le fichier javascript jqueryXX.min.js
    tu dois réferencer le fichier javascript spservicesXX.min.js



    $(document).ready(function()) peut être placé n'importe ou sur le page.

    $(document).ready(function()) est traité après le chargement complet de la page
    Oui.

    J'ai essayé de mettre [..]avant $(document).ready(function()) mais ça ne semble pas fonctionner.
    Faut pas le mettre avant, faut le mettre dedans.

  4. #24
    Membre du Club
    Homme Profil pro
    Chef de projets
    Inscrit en
    Août 2002
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2002
    Messages : 79
    Points : 68
    Points
    68
    Par défaut
    Faut pas le mettre avant, faut le mettre dedans.
    D'accord, mais ce que je mets dedans est forcément exécuté après le chargement complet de la page, donc pour utiliser les SPCascadeDropdowns, ok, c'est ici que je les ai mis et les liens fonctionnent bien.

    Je voudrais savoir si je peux mettre des choses afin d'éviter que SP ne charge tout le contenu de ma liste qui contient tellement d'éléments que ça met plusieurs minutes à charger.
    Pour tester, j'ai mis une ligne avec alert("test"); avant le $(document).ready(function()), et le message s'affiche bien tout de suite. Mais comment faire pour appliquer un filtre sur la listbox à ce niveau ou simplement empêcher SP de charger le contenu ?

  5. #25
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Citation Envoyé par shyangel Voir le message
    Mais comment faire pour appliquer un filtre sur la listbox à ce niveau ou simplement empêcher SP de charger le contenu ?
    A part toucher les propriétés du field pour ne pas le charger dans les edit et new form (ShowInEditForm et ShowInNewForm = false), je ne pense pas que tu puisses contrôler le mode de chargement du champ dans le formulaire natif. Certainement pas avec du Javascript.

    Tu peux utiliser un champ proxy de type texte simple pour mettre à jour le lookup ensuite (event handler, workflow), je vois mal comment tu peux faire "nativement" sinon.

    Solutions aternatives :
    travailler avec une version xslt du formulaire (filtrage possible car contrôle du datasource)
    http://padavis.wordpress.com/2008/12...umn-in-a-list/

    autocompletion d'un champ texte
    (spservices)
    http://www.itidea.nl/index.php/jquer...-autocomplete/

    (sp tool basket)
    http://sptoolbasket.codeplex.com/

    Construction d'un dropdown perso et remplissage ajax.

  6. #26
    Membre du Club
    Homme Profil pro
    Chef de projets
    Inscrit en
    Août 2002
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2002
    Messages : 79
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    Merci pour ces réponses et autres pistes alternatives.

    J'ai également pensé à une autre solution, mais ne sait pas si cela est possible.
    La liste qui me pose problème est une liste qui doit permettre de renseigner un ou plusieurs codes articles. Si je remplace cette liste par une zone de texte en saisie libre (les codes seront saisis par l'utilisateur, avec un séparateur point-virgule, par exemple, pour les différentes valeurs), est-il possible de faire un contrôle de validité de la saisie, c'est-à-dire contrôler que les codes existent bien dans la liste de référence ?

    Merci d'avance pour votre aide.

  7. #27
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Citation Envoyé par shyangel Voir le message
    est-il possible de faire un contrôle de validité de la saisie, c'est-à-dire contrôler que les codes existent bien dans la liste de référence ?
    En gros c'est pour avoir un composant du même genre que le people picker ?

    Oui, mais je ne connais pas de script déjà tout fait pour ce besoin car c'est du sur-mesure. Par contre, spservices et jquery te fournissent tous les outils nécessaires à sa réalisation (selon la complexité voulue et ton expérience entre 2h et 1j. de dév.) :
    - un méthode d'interrogation asynchrone de la liste (wrappée par spservices) qui renvoie un booléen si l'élément existe OU un chargement ajax des références dans un tableau lors du chargement de la page
    - un event handler javascript sur l'événement onchange ou onkeyup de la textbox qui lance la méthode de validation de chaque chaine séparée par ";"
    - une action visuelle pour que l'utilisateur comprenne l'erreur (ex : label explicatif à côté du champ, bouton OK désactivé si erreur)

  8. #28
    Membre du Club
    Homme Profil pro
    Chef de projets
    Inscrit en
    Août 2002
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2002
    Messages : 79
    Points : 68
    Points
    68
    Par défaut
    Merci pour ta réponse.

    En gros c'est pour avoir un composant du même genre que le people picker ?
    Oui, en gros, ça pourrait ressembler à ça. Sans avoir forcément la fenêtre de recherche.

    Pour les développements que tu proposes, sans chercher à avoir exactement un script qui colle à mon besoin très spécifique, aurais-tu quelques adresses de sites où je pourrais trouver des bouts d'exemples de chacun des points que tu mentionnes ?

    Merci encore...

  9. #29
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Bonjour,

    Je vais voir pendant ma pause à midi si je peux composer un petit pot-pourri de mes contrôles javascript pour remplir les fonctions specifiées 2 posts ci-dessus.

Discussions similaires

  1. Avez-vous deja essaye un proxy qui marche sous cURL ?
    Par pdtor dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/12/2009, 18h27
  2. [SOURCEMAGE] L'avez vous essayée ?
    Par Neuromancien2 dans le forum Autres
    Réponses: 1
    Dernier message: 23/05/2007, 01h18
  3. Avez-vous déjà rencontré des "info bugs" ?
    Par Popof dans le forum WinDev
    Réponses: 14
    Dernier message: 27/09/2006, 10h20
  4. Avez vous deja vu ...
    Par Treuze dans le forum C++
    Réponses: 7
    Dernier message: 11/04/2006, 23h19
  5. [Système] Avez vous deja utilisé flock ?
    Par ePoX dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2005, 14h17

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