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 :

Besoin d'aide sur les listes


Sujet :

SharePoint .NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Points : 107
    Points
    107
    Par défaut Besoin d'aide sur les listes
    Bonjour.

    J'expose mon problème.

    Je crée une liste (liste personnalisée) qui me permet de lister mes projets. J'ai ajouté des colonnes de type (nom de projet, Client, Chef de Projet, collaborateurs ...)
    Jusque là rien de bien compliqué.

    Par contre j'aimerai que les informations de cette liste puissent renseigner des colonnes comprises dans une bibliothèque de document ou j'ai ajouté une colonne projet de type recherche (sur la liste précédente), une colonne client et enfin Chef de Projet.
    J'aimerai renseigner uniquement la colonne projet et qu'ensuite les colonnes Client et Chef de projet soient automatiquement renseignées.

    Si quelqu'un sait comment faire cela m'intéresse. J'ai essayé en codant un Handler mais mon code ne doit pas être bon. Si quelqu'un a une solution avec sans programmation cela m'intéresse grandement.

    Merci à tous de votre aide.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    EventHandler ou Workflow sont les 2 solutions qui me viennent à l'esprit

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Points : 107
    Points
    107
    Par défaut
    J'avais pas pensé au workflow, mais je ne suis pas sure que cela soit réellement adapté à mon cas.

    En revanche si tu as un morceau de code qui pourrait me récuppérer les données d'une liste cela m'arrangerait

    J'applique cet handler sur ma librairie de document, mais je sais que je récuppère mal (voir meme pas du tout) les champs qui m'interesse. Je souhaite grace la colonne "Projet" (de type recherche) récuppérer les informations de la liste "Projet".
    Voila le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void getProjectInfo(SPItemEventProperties properties)
            {
                SPListItem document = properties.ListItem;
     
                SPListItem projet = (SPListItem) document["Projet"];
     
     
                document["Client"] = projet["Client"].ToString();
                document["Chef de Projet"] = projet["Chef de Projet"].ToString();
                document.Update();
            }
    Je sais que pour expert le code écrit est probablement ridicule, mais j'apprends comme je peux
    Merci pour l'aide.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Points : 107
    Points
    107
    Par défaut
    J'ai réussi à faire quelques chose avec les handlers voici le code :

    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
     
    void generateID(SPItemEventProperties properties)
    {
                SPListItem document = properties.ListItem;
                // On récupère l'identifiant du projet associé au document
                string projectName = document["Projet"].ToString();
                // On extrait l'id (format : ID;#Nom)
                int index = projectName.IndexOf(';');
                int id = Int32.Parse(projectName.Substring(0, index));
     
                // On définit une nouvelle racine
                SPSite collection = new SPSite("http://sharepoint/administration/");
                SPWeb site = collection.OpenWeb();
     
                // On charge la liste
                SPList projectList = site.Lists["Projets"];
                // On récupère l'élément
                SPListItem projectListItem = projectList.GetItemById(id);
     
                // Modification de champs du document
                document["Client"] = projectListItem["Client"];
                document["Chef de Projet"] = projectListItem["Chef de Projet"];
                document.Update();
    }
    J'ai une autre question. Si par exemple je change des information dans ma liste de projet alors elle ne sont pas mise a jour automatiquement dans mes metadonées de ma bibliothèque de document. Comment faire ? Dois-je recréer un handler qui sera appelé lorsque je change quelquechose dans ma liste de projet ?

    Merci

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par Wickerman
    J'ai une autre question. Si par exemple je change des information dans ma liste de projet alors elle ne sont pas mise a jour automatiquement dans mes metadonées de ma bibliothèque de document. Comment faire ? Dois-je recréer un handler qui sera appelé lorsque je change quelquechose dans ma liste de projet ?

    Merci
    Il faut que tu reprennes ton code et que tu l'applique sur l'event ItemUpdating/ed (et pas ItemAdding/ed)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Points : 107
    Points
    107
    Par défaut
    Me revoilà avec une nouvelle question concernant les listes.

    J'ai des listes sur mon site principal (Top Level Site), et j'y accède facilement dans les sous-site grace à la webPart Content Query que je personnalise avec le fichier xslt. Jusque là il n'y a aucun problème.

    Mais j'aimerai pouvoir modifier les élements de la liste via un formulaire se trouvant dans un des sous-site. je crois qu'il est possible de faire avec des page Layout, mais je n'en suis pas sure et je ne sais pas comment faire.

    L'interet pour moi de mettre la liste dans le site principal et de pouvoir apres créer des colonnes de site avec une propriété de recherche (Lookup) et les faire hériter aux autres sites.

    Si quelqu'un sait comment modifier les elements d'une liste contenu dans un site parent sans passer par le site parent.

    Merci de votre aide

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/02/2008, 21h53
  2. Besoin d'aide sur les fonction d'interbase
    Par BOUBOU81 dans le forum InterBase
    Réponses: 2
    Dernier message: 05/11/2004, 10h00
  3. besoin d'aide sur les ORB
    Par floorfille dans le forum CORBA
    Réponses: 4
    Dernier message: 24/08/2004, 15h43
  4. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 10h16
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19

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