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

XMLRAD Discussion :

Problème utilisation Treeview


Sujet :

XMLRAD

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 94
    Points : 58
    Points
    58
    Par défaut Problème utilisation Treeview
    Bonjour tout le monde,
    Je suis nouveau sur ce forum et découvre avec plaisir XMLRAD.
    Mon appli :
    - un treeview apelle et affiche un service lors du clic sur la "croix" (via appel de la propriété PartialAction du item), celà fonctionne bien
    - mais lors du clic sur le label (caption, qui apelle un autre service via la propriété HRef), je m'apercois via l'affichage des stats dans XMLRAD que les 2 services sont lancés (!) et qu'en plus, le service "enfant" du treeview est masqué !
    => en gros est-il possible d'exécuter uniquement mon service via le Href du Item sans lancer le PartialAction ?
    D'avance merci et pardon si je ne suis pas explicite dans mes propos.
    NB

  2. #2
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    J'ai déjà noté ce comportement qui peut etre génant effectivement.
    Je n'ai pas trouvé de solution si ce n'est de modifier légèrement le fichier source treeview.xsl... Pas génial effectivement.
    Une évolution serait peut etre interessante pour pouvoir controler cela en standard, non ?


    Michael

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Points : 1 446
    Points
    1 446
    Par défaut
    Bienvenue Cameleon :-)

    Voici une portion du code qui est généré pour chaque item (issu du projet Démo FileExplorer) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a hidefocus="true" style="text-decoration: none;" href="/DemosBin/FileExplorer/Bin/FileExplorer.dll/ListFiles?CurrentPath=C:\\" target="Main" onclick="PartialUpdate('MainForm', 'PartialFolderTree', 'PartialFrame', 'CurrentPath', 'C:\\', 'IDAJW35F', '2', true);boldItem('IDAJW35F');SetField('MainForm', 'CurrentPath', 'C:\\'); SetField('MainForm', 'NavigationFolder', '');">
    Tu remarqueras que les deux attributs onclick et href sont renseignés.
    • 1. Le href appelle le XMLService ListFiles dont le résultat va "atterrir" dans la frame Main.
    • 2. Le onclick déclenche une action de type PartialUpdate qui va utiliser le XMLService ListFolder.

    En effet le code javascript de la fonction PartialUpdate va submitter le formulaire MainForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="/DemosBin/FileExplorer/Bin/FileExplorer.dll/ListFolders" method="POST" name="MainForm">
    Si je comprends bien, tu voudrais que seul le click sur la petite croix appele le XMLService ListFolder et que le click sur le nom du dossier appelle le XMLService ListFiles.

    Je ne connais pas en détail les paramètres du template xslc:Treeview and co, mais je pense qu'il faut le modifier si on veut pouvoir dissocier explicitement le href et le onclick lorsque l'on clique sur le caption.
    C'est faisable sans trop de problème, à suivre ...

    Sylvain
    .NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

    Mon Blog : http://blog.developpez.com/index.php?blog=89
    Mes Articles : http://sjames.developpez.com/
    Rubrique XMLRAD: http://xmlrad.developpez.com

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Points : 1 446
    Points
    1 446
    Par défaut
    Citation Envoyé par Jeweller
    Je n'ai pas trouvé de solution si ce n'est de modifier légèrement le fichier source treeview.xsl... Pas génial effectivement.
    Une évolution serait peut etre interessante pour pouvoir controler cela en standard, non ?
    Michael
    Si tu veux pas être dépendant des futures versions, il est préférable de faire un copier coller des templates de treeview.xsl, d'y apporter tes modifs, et de les enregistrer dans une lib externe qu'on utilise via un import xsl.

    Comme ça : pas touche au framework (et pan ! sur la main )
    .NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

    Mon Blog : http://blog.developpez.com/index.php?blog=89
    Mes Articles : http://sjames.developpez.com/
    Rubrique XMLRAD: http://xmlrad.developpez.com

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 94
    Points : 58
    Points
    58
    Par défaut
    Effectivement sylvain je veux avoir les 2 comportements distincts. Je vais voir si je me fais mon propre treeview ou si je trouve un moyen détourné d'arriver à mes attentes. En tout cas, un paramètre de plus sur l'item du style OnlyHref="1" serait le bienvenue :-)

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Points : 1 446
    Points
    1 446
    Par défaut
    Si tu y arrives pas, hésite pas, on te donneras un coup de main 8)
    .NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

    Mon Blog : http://blog.developpez.com/index.php?blog=89
    Mes Articles : http://sjames.developpez.com/
    Rubrique XMLRAD: http://xmlrad.developpez.com

  7. #7
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Citation Envoyé par Sylvain James
    Si tu veux pas être dépendant des futures versions, il est préférable de faire un copier coller des templates de treeview.xsl, d'y apporter tes modifs, et de les enregistrer dans une lib externe qu'on utilise via un import xsl.

    Comme ça : pas touche au framework (et pan ! sur la main )
    Aïe! Ouïe!
    En général je préfère même me limiter au framework... si on veut bénéfier des progres des version à venir, le probleme reste le même... Cela dit, je me suis fait tapé sur les doigts il y a qqs années, ca sert de leçon!

    Pour ton soucis, LeCameleon, il suffit d'enveler (en fonction d'un parametre) la fonction PartialUpdate du Onclick de l'élément. Actuellement elle s'execute forcément et toujours en premier.

    Michael

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    Effectivement, le comportement n'est pas dissociable facilement entre le + et le caption. Ca vient de la copie du comportement du Treeview de l'explorateur Windows : lorsqu'on clique sur le nom d'un dossier, celui-c s'ouvre et l'explorateur affiche les dossiers enfants. Le Treeview XMLRAD reprend ce meme comportement pour que l' "experience utilisateur" (j'adore ) soit cohérente.

    Quoi qu'il en soit, pour avoir le comportement que tu souhaites, oui, il faut modifier le Treeview.xsl, dans la template match="Item", au niveau du <xsl:element> qui correpond en gros au caption. Tu peux ici rajouter un parametre supplementaire et tester pour savoir si tu dois faire le PartialUpdate sur le Caption ou pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <xsl:variable name="PartialUpdateOnCaptionClick" select="@PartialUpdateOnCaptionClick" />
    <xsl:attribute name="onclick">
      <xsl:if test="(@PartialUpdate = 1) and ($PartialUpdateOnCaptionClick != '0')">
        ...
      </xsl:if>
      ...
    </xsl:attribute>
    Attention au test, si l'attribut n'existe pas, il est possible que le test échoue. Tu peux peut-etre aussi faire en sorte de passer le paramètre de manière plus globale au Treeview pour activer/désactiver pour tous les noeuds directement sans avoir à répéter l'attribut pour tous les <Item>.

    Sinon, je pense que tu peux faire la modif directement dans le Treeview.xsl livré pour ton projet : il n'est pas partagé, ni réutilisé ailleurs, donc pas de probleme. Le soucis reste l'upgrade vers une nouvelle version, mais de toutes facons, il faudrait que tu upgrades tes templates personalisées, alors...
    Nicolas

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 94
    Points : 58
    Points
    58
    Par défaut
    Ok merci nicolas. Je verrai ce qu'en pensent mes collègues (étant donné que plusieurs de leurs fichiers apellent le .xsl, je me vois pas tout faire capoter !). J'ai mis ce pb pour le moment de côté et me heurte à une personnalisation du datepicker désormais (j'ai posté un nouveau sujet).
    A toute
    NB

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

Discussions similaires

  1. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00
  2. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  3. [JSTL] [EL] Problème utilisation <c:out>
    Par XavierL dans le forum Taglibs
    Réponses: 7
    Dernier message: 14/08/2005, 20h12
  4. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 10h21

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