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 :

liste en cascade et récupérer info utilisateur dans champ [SP-2007]


Sujet :

SharePoint .NET

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 67
    Points : 44
    Points
    44
    Par défaut liste en cascade et récupérer info utilisateur dans champ
    Bonjour,

    Je suis en stage actuellement en entreprise et je découvre sharepoint que je ne connaissait pas auparavant.

    Du coup je galère vraiment pour certaines choses.

    J'ai deux questions pour le moment :

    premiièrement j'aimerais par exemple lorsqu'un utilisateur se connecte sur le site, et lorsqu'il utilise un formulaire, qu'il y ait un lien entre un champ de formulaire et l'utilisateur pour qu'il n'ai pas a rentrer son nom a chaque fois dans le formulaire, il faudrai que le champ soit prérempli par le nom d'utilisateur.Je ne sais pas comment le faire, peut être avec du code mais je ne sais pas ou et comment.

    deuxièmement dans la même liste, j'ai deux colonnes qui sont des choix en liste déroulante, et j'aimerais que le choix de la premiere liste déroulante restreigne les choix de la deuxieme liste. Pareillement à la premiere question, je n'ai pas la moindre idée de comment implémenter ça.

    J'espere que vous aurez des réponses à mes quetions.
    Merci d'avance

  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
    Easy!

    SPServices est la pour toi :

    Current User


    Cascading Drop Down

    Comment ca marche?
    Merci de lire la documentation proposé dans le lien

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    Merci ! Je vais lire tout ça

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    Je reviens vers vous car je n'arrive pas à utiliser correctement les méthodes proposée par jquery.
    J'ai donc quelques questions supplémentaires :

    Le code doit-il être implémenté dans la page default.master?
    pour l'instant c'est la que je l'ai mis et je l'ai mis dans le <head>, est-ce correct?
    Y'a t-il d'autres manipulations à faire éventuellement?
    Par exemple la fonction getCurrentUser marche quand je l'utilise dans un alert mais lorsque je l'associe à un champ de la liste et que je souhaite que lors d'un ajout de données le champ soit pré-rempli, ça ne marche plus, peut-être ai-je loupé quelque chose au niveau de la list?

    Merci pour vos réponses

  5. #5
    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
    Si tu arrive à afficher via alert(); c'est que tu es sur la bonne voie.

    Désormais, tu veux insérer ca dans une textbox, montre nous le code, je te dirai ou tu as faux

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    Alors voila :
    le nom de mon champ est "Qui"(nom interne également) il est de type personne ou groupe

    le code :

    Code javascript : 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
    	<script language="javascript" type="text/javascript">
     
    		$(document).ready(function(){
     
    				<!--alert("jQuery");-->
    				<!--alert($().SPServices.SPGetCurrentSite());-->
    				<!--alert($().SPServices.SPGetCurrentUser());-->
     
     
    				$().SPServices.SPGetCurrentUser({
    					fieldName: "Qui",
    					debug: false
    				});
     
    		});
    	</script>

    j'ai mis en commentaire les alert dans html
    Voilà ^^

  7. #7
    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
    Aparté sur les commentaires :

    Tu fais une injection de javascript ou bien?

    En javascript pour mettre un commentaire un simple // suffit.

    Ensuite, dans la doc, il explique le mécanisme de fonctionnement de la méthode :

    The SPGetCurrentUser function does an AJAX call to grab /_layouts/userdisp.aspx?Force=True and "scrapes" the values from the page based on the internal field name (aka StaticName).
    Il n'existe aucun champ "Qui" dans userdisp.aspx...

    Peu pas marché comme ca

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    Oui j'ai injecté le javascript dans la balise <head> de défault.master avec les cemins vers jquery et SPservices. J'ai fait ça dans sharepoint designer où j'ai accès directement au code de la page maître que j'ai donc modifié.

    Apres en ce qui concerne l'explication je la trouve pas tres claire ou alors mon niveau d'anglais n'est pas top


    Du coup où est-il possible d'avoir accès aux champs des différentes listes ?

    Je seche.

  9. #9
    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
    Ok.

    Tu as une mauvaise compréhension de ce que tu peux faire et ce que tu fais.

    SPGetCurrentUser


    Field Name
    Account
    Name
    Work e-mail
    About me
    Picture
    Department
    Job Title
    SIP Address
    First name
    Last Name
    Work phone
    Office
    User name
    Web site
    Responsibilities
    Ceci est la liste des champs que tu as a disposition sur un utilisateur. Aucun rapport avec une liste. La tu Get une information.

    Step By Step : Ce que tu dois concevoir
    1. Get l'information Name
    2. Get le champ/le field/ la textbox de ton interface qui s'appelle Qui
    3. Ajouter l'information Name dans le champ que tu as récupéré


    Solution :
    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
    <script language="javascript" type="text/javascript">
     
    var KeyWordName = "Qui";
     
    $(document).ready(function () {
        var UserName = $().SPServices.SPGetCurrentUser({
            fieldName: "Title",
            debug: false
        });
     
        $("input[title='" + KeyWordName + "']").val(UserName);
        $("input[title='" + KeyWordName + "']").attr("disabled", true);
    });
     
    function PreSaveAction() {
        $("input[title='" + KeyWordName + "']").attr("disabled", false);
        return true;
    }
     
    </script>

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    Merci pour le code, mais je ne comprend pas ce qui peu me manquer pour que ça marche



    Au final avec le code ce champ devrai être rempli automatiquement lorsque l'on va sur ajout nouvel élément.

    En fin de compte,"title" est une variable qui va prendre le name du champ? ou alors c'est une colonne de la liste?

  11. #11
    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
    qu'il y ait un lien entre un champ de formulaire et l'utilisateur pour qu'il n'ai pas a rentrer son nom a chaque fois dans le formulaire, il faudrai que le champ soit prérempli par le nom d'utilisateur.Je
    Moi ce que j'avais compris :
    Tu veux un champ, tu veux que l'utilisateur ne puisse pas y toucher, tu veux que ce champ soit visible mais non éditable, tu veux que ce champ soit automatiquement enregistrer avec le nom de l'utilisateur.

    Ma réponse concerné ce besoin.
    Si tu veux un besoin différent, tu précise de façon précise (oui je me répéte ^^)

    Ton image, tu as un people picker, je te préviens, tu as choisi la voie la plus compliqué, même moi qui est de la bouteille, je me prendrais pas la tête avec ce champ. Un champ de type texte suffira.


    Parfois, il faut restreindre son besoin au spécificité technique

  12. #12
    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
    Citation Envoyé par Greed29 Voir le message
    Merci pour le code, mais je ne comprend pas ce qui peu me manquer pour que ça marche
    Fait le test sur un formulaire NewForm, EditForm, en ajoutant un champ "Qui" et le code que j'ai posté.

    Constate, comprends

  13. #13
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    Merci, en fait j'ai refais avec un champ juste texte et ça marche.

    Pourtant je pensais que le type du champ que j'avais mis au départ à savoir personne ou groupe correspondrai avec l'information que l'on récuperé ^^

  14. #14
    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
    Nope, le champ user(people picker) est monstrueusement complexe, restons simple au début.

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

Discussions similaires

  1. [SP-2013] Recherche d'infos utilisateur dans un formulaire Infopath
    Par jff42 dans le forum SharePoint
    Réponses: 1
    Dernier message: 08/12/2014, 10h42
  2. Récupérer infos javascript dans Formview
    Par clrenaud dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/05/2014, 08h17
  3. [XL-2000] Récupérer infos Excel dans Word
    Par bubu08 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/11/2011, 11h17
  4. [MySQL] Récupérer valeurs BDD dans champ formulaire
    Par romeskira dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/12/2008, 17h01
  5. Réponses: 8
    Dernier message: 06/07/2007, 08h03

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