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 :

Ajout bouton ou element dans une Web Part


Sujet :

SharePoint .NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Ajout bouton ou element dans une Web Part
    Bonjour à tous,

    Etant néophyte en WSS et voulant me débrouiller comme une grande, j'ai cherchée à vouloir intégrer un bouton dans une web part mais sans succès.

    Je viens donc vers vous afin que vous puissiez m'aiguiller dans ma tentative.

    Pour l'explication, j'ai une web part dans la quelle est reprit une liste de personnes (ceux-ci sont dans un fichier XSLT).
    J'aurais voulu, dans la possibilité du faisable, ajouter un bouton sous chaque photo (ou encore rendre la photo cliquable ) pour qu'une sorte de popup s'ouvre avec les références générales de la personne.

    Je vous remercie d'avance pour votre aide.

  2. #2
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    bonjour,

    Pour ce qui est de l' ajout de composants sur un webpart, je vous conseil de surcharger la méthode CreateChildControls(). dans cette méthode vous pouvez instancier et ajouter des controles sur le webpart.

    Cordialement,

    Ludovic,

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci LefortLudovic pour cette réponse.

    Ceci dit, j'ai peur de devoir étaler mon ignorance mais, que veut dire "surcharger la méthode CreateChildControls()" et "instancier" ?

    Comme je l'ai dit plus haut, j'ai essayée de comprendre un peu comment fonctionne la webpart.
    Apparement, elle utilise un fichier XSLT ou se trouve, si je l'ai bien compris, le code qui permet d'afficher la liste des personnes.

    Je me permets de mettre un petit bout de 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <xsl:template name="RenderNodeCell">
    <xsl:param name="node"/>
    <xsl:param name="level"/>
    <xsl:attribute name="class">
    <xsl:if test="$node[Field7 = 'Employee']">cell employee</xsl:if>
    <xsl:if test="not ($node/Field7) or $node[Field7 != 'Employee']">cell contract</xsl:if>
    </xsl:attribute>     
    <div style="width:120;text-align:center;">
    <!--	<xsl:if test="$level=0 and $node/@HasParent and $node/@{SecretaryField}='False'">-->
    <!--		<xsl:if test="$level=0 and $node/HasParent &gt; 0 and $node/SecretaryField='False'">-->
    		<xsl:if test="$level=0 and $node/HasParent &gt; 0 and ($node/SecretaryField='False' or $node/SecretaryField=0)">
    				<!--		<a><xsl:attribute name="href">Chart.aspx?NodeID=<xsl:value-of select="$node/@MGR_ID"/>&amp;exp=<xsl:value-of select="$bExpanded"/></xsl:attribute><img border="0" src="images/newup.gif"/></a><br/>-->
     
    			<img>
    				<xsl:attribute name="src">
    				<xsl:if test="$bExpanded">website/annuaire/newup.gif</xsl:if>
    				<xsl:if test="not($bExpanded)">website/annuaire/newup.gif</xsl:if>
    				</xsl:attribute>
    				<xsl:attribute name="onclick">ResetRoot('<xsl:value-of select="local:ReplaceNodeID(string($node/ParentField))"/>');</xsl:attribute>
    			</img><br/>
     
    	</xsl:if>			
    	<xsl:if test="$node/SPS-Dotted-line != ''">
    		First Indirect Manager: <xsl:value-of select="$node/SPS-Dotted-line"/>
    		<br/>
    	</xsl:if>
    	<xsl:if test="$node/Assistant != ''">
    		Second Indirect Manager: <xsl:value-of select="$node/Assistant"/>
    		<br/>
    	</xsl:if>
    	<xsl:if test="$node/SPS-MasterAccountName != ''">
    		Third Indirect Manager: <xsl:value-of select="$node/SPS-MasterAccountName"/>
    		<br/>
    	</xsl:if>
    	<xsl:if test="$node/SPS-ResourceAccountName != ''">
    		Forth Indirect Manager: <xsl:value-of select="$node/SPS-ResourceAccountName"/>
    		<br/>
    	</xsl:if>
    	<xsl:if test="$DisplayF0">
    	<xsl:value-of select="$node/Field0"/>
    		<br/>
      </xsl:if>
    	<xsl:if test="$DisplayF6">
    		<xsl:if test="$node/Field6 != ''">
    		<img>
    			<xsl:attribute name="src">
    				<xsl:if test="$Userprofile=1">
    					<xsl:value-of select="$node/Field6"/>
    				</xsl:if>				
    				<xsl:if test="$Userprofile=0">
    					<xsl:value-of select="local:getPicture(string($node/Field6))"/>
    				</xsl:if>
    			</xsl:attribute>
    			<xsl:attribute name="width">
    				<xsl:value-of select="49"/>
    			</xsl:attribute>
    			<xsl:attribute name="height">
    				<xsl:value-of select="62"/>
    			</xsl:attribute>
     
    		</img>
    		<br/>
    		</xsl:if>
    	</xsl:if>
    	<xsl:if test="$DisplayF1">
    	<xsl:value-of select="$node/Field1"/><br/>
    	</xsl:if>
    	<xsl:if test="$DisplayF2">
    	<xsl:value-of select="$node/Field2"/><br/>
    	</xsl:if>
    <!--	<xsl:if test="$DisplayF7">
    	<xsl:value-of select="$node/Field7"/>
    	</xsl:if>-->
    	<xsl:if test="$DisplayF3">
    	<a>
    <!--		<xsl:attribute name="href">mailto:<xsl:value-of select="local:getEmailAddress(string($node/Field3))"/></xsl:attribute>
    		<xsl:value-of select="local:getEmailAddress(string($node/Field3))"/>-->		
    		<xsl:attribute name="href">mailto:<xsl:value-of select="$node/Field3"/></xsl:attribute>
    		<xsl:value-of select="$node/Field3"/>
    	</a><br/>
    	</xsl:if>
    	<xsl:if test="$DisplayF4">
    		<xsl:value-of select="$node/Field4"/>
    	</xsl:if>
    	<xsl:if test="$DisplayF5">
    	<br>
    		<xsl:value-of select="$node/Field5"/>
    	</br>
    	</xsl:if>
    	<xsl:if test="$DisplayF7">
    		<BR></BR>
    		<xsl:value-of select="$node/Field7"/>
    	</xsl:if>
    	<xsl:if test="$DisplayF8">
    		<BR></BR>
    		<xsl:value-of select="$node/Field8"/>
    	</xsl:if>
    	<xsl:if test="$DisplayF9">
    		<BR></BR>
    		<xsl:value-of select="$node/Field9"/>
    	</xsl:if>
    	<xsl:if test="$DisplayF10">
    		<BR></BR>
    		<xsl:value-of select="$node/Field10"/>
    	</xsl:if>
     
    	<xsl:variable name="nid" select="string($node/ChildField)"/>
     
    	<xsl:choose>
    <!--		<xsl:when test="($level = 1 and count(//ROW[@{ParentField}=$nid]) &gt; 0)"><br/>-->
    		<xsl:when test="($level = 1 and count(//Employee[ParentField=$nid]) &gt; 0 and $node/ChildCount &gt; 0)"><br/>
    			<img>
    				<xsl:attribute name="src">
    					<xsl:if test="$bExpanded">website/annuaire/newup.gif</xsl:if>
    					<xsl:if test="not($bExpanded)">website/annuaire/newdown.gif</xsl:if>
    				</xsl:attribute>
    				<xsl:attribute name="onclick">toggleLevel(this,document.all.Node<xsl:value-of select="local:getNodeID(string($nid))"/>2, document.all.Node<xsl:value-of select="local:getNodeID(string($nid))"/>2);</xsl:attribute>
    			</img>
    		</xsl:when>
    		<xsl:when test="($level = 2 and $node/ChildCount != 0)"><br/>
    <!--			<a><xsl:attribute name="href">Chart.aspx?NodeID=<xsl:value-of select="$nid"/>&amp;exp=<xsl:value-of select="$bExpanded"/></xsl:attribute><img border="0" src="newdown.gif"/></a>-->
     
    			<img src="website/annuaire/newdown.gif">
    				<xsl:attribute name="src">
    				<xsl:if test="$bExpanded">website/annuaire/newdown.gif</xsl:if>
    				<xsl:if test="not($bExpanded)">website/annuaire/newdown.gif</xsl:if>
    				</xsl:attribute>
    				<xsl:attribute name="onclick">ResetRoot('<xsl:value-of select="local:ReplaceNodeID(string($nid))"/>');</xsl:attribute>
    <!--				<xsl:attribute name="onclick">
    					ResetRoot('<xsl:value-of select="$nid"/>');
    				</xsl:attribute>-->
    			</img><br/>
     
    		</xsl:when>
    	</xsl:choose>
    </div>
    </xsl:template>
    Voila, c'est dans la partie qui affiche l'image que je tente de mettre soit un bouton "info" ou rendre la photo cliquable vers un popup avec les infos générales.

  4. #4
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    395
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2008
    Messages : 395
    Points : 218
    Points
    218
    Par défaut
    tu développe un web part par VS ou non?

  5. #5
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    Ok je comprend mieux maintenant.

    Malheuresement, si vous désirez créer un webpart personnalisé vous devez passer par du code. Plus précisement de l'asp.net et connaitre un des langage de programmation .net.

    Ludovic,

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    J'ai installée Visual Studio 2008 mais je ne sais pas trop ce que je dois faire ou ce que je dois ouvrir via ce dernier pour modifier le web part.

    Dans les fichiers de bases que j'ai eu avec le package de cette web part, sont des fichiers *.xslt, *.dwp,*.ddf, *.dll et *.css

    Bien entendu, je ne demande pas qu'on me donne une formation en .Net, juste m'aiguiller dans la façon de pouvoir modifier une web part

    Je vous remercie

  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
    Je te conseil de télécharger WSPbuilder.

  8. #8
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    Vous ne pouvez pas modifier le webpart à partir ce des fichier. le fichier .dll contient l'application compilée. Il vous faut le projet Visual Studio.

    Ludovic,

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2009, 08h38
  2. Réponses: 0
    Dernier message: 18/08/2009, 15h49
  3. Ajouter boutons et jtable dans une frame
    Par faycalche dans le forum Débuter
    Réponses: 1
    Dernier message: 22/07/2008, 08h09
  4. Réponses: 2
    Dernier message: 07/05/2008, 18h24
  5. ajout d'un element dans une liste et modifier son nom
    Par fibi007 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/04/2008, 17h50

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