none
Afficher le lien vers la pièce jointe dans une liste SharePoint RRS feed

  • Question

  • Bonjour,

    J'ai créé une liste Sharepoint et je souhaiterai afficher à la place du trombone qui indique si une pièce jointe est associée, le lien me permettant de télécharger la pièce jointe sans devoir ouvrir l'élément.

    J'ai cette problématique sur MOSS 2007 et 2010...

    Merci de votre aide,

    Cordialement.

    mercredi 28 avril 2010 15:37

Toutes les réponses

  • Le problème c'est qu'il peut y avoir plus d'un attachement et qu'aucune colonne CAML ne permet de retourné cette information...

    Il y aurais moyen par contre d'y parvenir d'une façon un peu plus complexe:

    1- On ajoute dans la liste et la vue concerner une nouvelle colonne type "Computed" qui aura le displaypattern semblable à ceci:

    <DisplayPattern><HTML><![CDATA[<div class="populateme" id="getattachement_]]></HTML><Field Name="ID" /><HTML><![CDATA["/>]]></HTML></DisplayPattern>

    2- À l'aide de jQuery (afin de facilité le tout), sur $(document).ready, on obtient la liste de div à populer $(".populateme"), pour chacun, faire une requête AJAX vers le service /_vti_bin/lists.asmx?op=GetAttachmentCollection de sharepoint.

    $(document).ready(function(){
     $(".populateme").each(function(){
      var curId=this.id.replace("getattachement_","");
      //obtenir la liste des attachement via une requête ajax et ajouter des liens ver ceux avec $(this).append()... 
     }
    });

    Une meilleur méthode serais de créer un webservice dans sharepoint qui nous retourne la liste complète de tout les attachements par Id car ceci éviterais d'avoir à appeler le service web pour chaque élément afficher.... 

    $(document).ready(function(){
     $(".populateme").each(function(){
      var ids=[];
      ids.push(this.id.replace("getattachement_",""));
     }
       //obtenir la liste des attachement via une requête ajax et ajouter des liens ver ceux avec $(this).append()... 
     //pour chacun des attachement retourné
     $("#getattachement_" + att.itemid).append("lien ver l'attachement");
    
    });

    Si tu as besoin d'un exemple complet... laisse le moi savoir et je vais prendre quelque minutes pour t'en faire un.... 

    lundi 10 mai 2010 23:16
  • Merci je vais regarder.

    J'ai vu que tu as donné une réponse sur le forum MOSS 2010 http://social.msdn.microsoft.com/Forums/en/sharepoint2010general/thread/d5d0ad84-8b77-4e8f-a6e9-7745cd847fee permettant d'utiliser le service listdata.svc.

    Je vais plutôt regarder cette piste.

    Merci de ta réponse

    mercredi 12 mai 2010 05:09
  • Oui pour la requête AJAX je comprend mais il faut que tu puisse mettre les <a href... dans un contenant ... d'où le nouveau champ CAML avec le display pattern... il permet de créer un contenant dans le listview de sharepoint...

    mercredi 12 mai 2010 13:35
  • Bonjour,

    Je propose d'aller voir la propriété Attachments d'un item. En effet, c'est une collection de pièces jointes.

    Allez voir ce lien

    lundi 21 juin 2010 15:56