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 :

Créer une colonne avec une image cliquable


Sujet :

SharePoint .NET

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 84
    Points : 62
    Points
    62
    Par défaut Créer une colonne avec une image cliquable
    Bonjour à tous,

    Voila, la question est dans le titre: comment créer une colonne personalisée dans une liste SharePoint faisant apparaître une image qui va générer une action.
    Ce n'est peut-être pas forcement une colonne qui est défini dans la liste mais au niveau de l'affichage on pourrait rajouter une colonne avec une image (qui est lié à un élément.)

    J'ai mis en pièces jointes une image pour mieux exprimer mon problème...
    Je ne vois pas comment faire... SPGridView ? Colonne personnalisé ? Avec Designer ?

    Merki de votre aide
    Cordialement
    Images attachées Images attachées  

  2. #2
    Membre régulier

    Inscrit en
    Septembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 74
    Points : 81
    Points
    81
    Par défaut Avec SPD
    Bonjour,

    Voici une solution qui fonctionne avec Sharepoint Designer :

    • Créer une vue pour la liste à customiser
    • Dans SharePoint Designer ouvrir la page aspx de la vue
    • Transformer en "XSLT Data View"
    • Ajouter une colonne vide
    • Ajouter l'image désirée
    • Dans la vue code ajouter un lien (dynamique ou non) autour de l'image


    Je viens de tester cette solution est viable mais a un défaut. Il n'est pas possible d'ajouter une vue transformée en "XSLT Data View" dans une web part par exemple sur la page d'accueil.

    Voilà en espérant que mon commentaire soit utile!

    Cordialement,

    Mselle

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 84
    Points : 62
    Points
    62
    Par défaut
    Ok merci, je vais essayer ca. Mais c'est vrai que le fait de ne pas pouvoir utiliser cette affichage dans un webpart peut poser problème...

    J'ai un exemple concret avec moi. L'image que j'ai fourni juste au dessus montre donc 3 colonnes avec chacune un bouton lié a un élément (un page aspx avec fomulaire personnalisé).
    Ces colonnes ne sont pas définies dans les paramètres de la liste.
    Elles sont juste dispo lors de la création d'un affichage sous la forme :
    [checkbox] Activer (lié a un élément)

    Donc en regardant de plus près, je me suis rendu compte que c'est déployer via une feature.

    En résumé, c'est une feature qui créé 3 colonnes pour la liste et disponible dans la création d'un affichage.

    Comment est-ce réalisable ? Avez-vous une idée?

    Merci en tout cas.
    Cordialement
    Images attachées Images attachées  

  4. #4
    Membre régulier

    Inscrit en
    Septembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 74
    Points : 81
    Points
    81
    Par défaut Quel est le comportement actuel?
    Ok je vois mais que ce passe t'il à l'ajout de ces colonnes dans la liste actuellement?

    Vous-avez un lien "texte" vers la page du formulaire concernée?

    Si c'est bien cela il suffit dans la solution que j'ai mentionné de ne pas ajouter de colonne vide mais la colonne correspondante (Activer par exemple) et dans le code remplacer le texte affiché par une image de votre choix.

    En espérant avoir compris la question correctement

    Salutations,

    Mselle

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 84
    Points : 62
    Points
    62
    Par défaut
    Merci pour ton aide!

    Mais j'ai trouvé une solution qui me parait mieux a mon gout et que j'ai déjà fait, mais il me manque un détail ^^

    Voila, en fait je créé une colonne de site de type :

    Image avec mise en forme et contraintes pour la publication
    Mais qu'est ce donc :
    Colonnes qui stockent des liens vers des images définies dans les propriétés de l'élément. Chaque colonne affiche une image ; une mise en forme facultative et des contraintes peuvent lui être appliquées.

    (Voir la pièce jointe pour le rendu lors de la création dasn un élément de liste.)

    Mon but : Masquer ce champs (Pas de problème) et de générer un évènement à la création d'un élément qui va remplir automatiquement ce champs avec une image et un lien.

    Mais dans mon code je ne sais pas comment faire pour créer ca...

    Je l'ai déjà fait pour le type de colonne "Lien hypertexte" en utilisant un SPFieldUrlValue() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //Création du SPFieldUrl
    SPFieldUrlValue URLVariable = new SPFieldUrlValue();
                URLVariable.Url = "http://google.fr";
                URLVariable.Description = "Google";
    //Que je relie à mon item
    SPItem evenement_enCours = listItems[listItems.count];
    evenement_enCours["Lien"] = URLVariable;
    evenement_enCours.Update();
    Mais cette fois-ci ce n'est pas la même et je ne sais pas quoi appeler ?
    Avez vous une idée ? J'ai testé avec SumaryLink mais ca ne marche pas (ou je me débrouille mal...)

    D'avance merci

    Cordialement
    Images attachées Images attachées  

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 84
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par Mselle Voir le message
    Bonjour,

    Voici une solution qui fonctionne avec Sharepoint Designer :

    • Créer une vue pour la liste à customiser
    • Dans SharePoint Designer ouvrir la page aspx de la vue
    • Transformer en "XSLT Data View"
    • Ajouter une colonne vide
    • Ajouter l'image désirée
    • Dans la vue code ajouter un lien (dynamique ou non) autour de l'image


    Je viens de tester cette solution est viable mais a un défaut. Il n'est pas possible d'ajouter une vue transformée en "XSLT Data View" dans une web part par exemple sur la page d'accueil.

    Voilà en espérant que mon commentaire soit utile!

    Cordialement,

    Mselle
    Bon j'ai réussit a créer un affichage spécial avec ta technique! Donc c'est nickel mais c'est quand même le problème de ne pas pouvoir mettre cette affichage dans un webpart en page d'accueil....

    Y-a-il une solution pour accepter l'affichage XSLT dans un webpart?
    (et je suis toujours preneur pour ma proposition précédente au niveau du code! ^^)

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 84
    Points : 62
    Points
    62
    Par défaut
    Bon je continue a chercher des alternatives à mon problème car l'afficahge personnaliser via Designer, c'est pas le top car une fois l'affichage mis en XSLT l'utilisateur ne peux plus rajouter de colonne ...

    Donc je me suis mis à la création de colonne (Csutom Field), j'ai suivi les tutos etc...ca fonctionne, trop content!!

    Mais encore un problème... en fait, au moment de la création de mon élément, je mets directement dans ma colonne personaliser un lien avec une image. Ca c'est OK, mais je voudrais que le lien pointe sur un formulaire où l'ID de l'élément est requis...comment faire ??

    voici le render pattern de mon xml :

    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
    <RenderPattern Name="DisplayPattern">
          <Switch>
            <Expr>
              <Column />
            </Expr>
            <Case Value="">
              <HTML>
     <!------------------------ICI LE PROBLEME--------------------------->
                <![CDATA[<a href="refuser.aspx?ID=??{@ID}??">]]>
              </HTML>
              <Column HTMLEncode="TRUE"/>
              <HTML>
                <![CDATA[<img border="0" src="/_layouts/images/doclink.gif"/></a>]]>
              </HTML>
            </Case>
            <Default>
              <HTML>
                <![CDATA[<a href="http://google.fr">]]>
              </HTML>
              <Column HTMLEncode="TRUE"/>
              <HTML>
                <![CDATA[<img border="0" src="/_layouts/images/doclink.gif"/></a>]]>
              </HTML>
            </Default>
          </Switch>
        </RenderPattern>
    C'est donc au niveau du xml que ca se passe, comment récupérer l'ID de l'élément qui se créé..???

    D'avance merci.
    Cordialement

Discussions similaires

  1. [WD14] Alimentation d'une colonne d'une tableau avec une autre colonne
    Par Deep Lowee dans le forum WinDev
    Réponses: 2
    Dernier message: 23/01/2013, 17h44
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Copie d'une table avec une colonne du type image
    Par mma67 dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 12/02/2010, 19h13
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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