Accueil > Forum > > > > Treeview aux fonctions étendues
Treeview aux fonctions étendues
mercredi 24 septembre 2008 à 09:32:01 |
Treeview aux fonctions étendues

equinoxe83
|
Bonjour à tous, J'ai une base de données qui intègre 3 tables thème, article, couleur. J'arrive bien à remplir mon treeview avec les éléments en mode hierarchique (merci JesusOnLine !!) Ce que je voudrais, dans l'absolu, c'est (un peu à la manière du Inbox d'outlook) placer en gras le noeud s'il y a du stock dans la couleur et placer le Nombre d'articles de cette couleur (entre parenthèse). J'ai vu qu'il existait des contrôles étendus payants mais je ne suis pas chaud pour intégrer des contrôles "exautiques" (surtout que j'utilise celà dans un updatepanel ajax...). Si quelqu'un à une idée de comment procéder, merci d'avance. @ bientôt
|
|
mercredi 24 septembre 2008 à 22:52:34 |
Re : Treeview aux fonctions étendues

ggtry
|
Réponse acceptée !
Bonsoir, Je ne sais pas si cela peut répondre à tes attentes, mais tu peux regarder du côté de renderpretext et renderposttext, et éventuellement t'inspirer de ceci : http://www.aspfr.com/forum/sujet-TREEVIEW_1199969.aspxPour ton cas, tu pourrais adapter en écrivant plutôt (exemple rudimentaire, à améliorer, d'après l'exemple donné dans le lien) : Protected Overrides Sub RenderPretext(ByVal writer As HtmlTextWriter) If IsNothing(Me.itemgras) = False Then writer.RenderBeginTag(HtmlTextWriterTag.B) MyBase.RenderPreText(writer) End If End Sub Protected Overrides Sub RenderPostText(ByVal writer As HtmlTextWriter) If IsNothing(Me.itemgras) = False Then writer.Write(" (" & Me.itemgras & ")") writer.RenderEndTag() MyBase.RenderPostText(writer) End If End Sub ...en créant une public property nommée "itemgras", l'idée étant ici que si 'itemgras' n'est pas défini, le noeud se rend normalement tandis que s'il est défini (par exemple avec un nombre représentant ton stock), le noeud est rendu en gras avec sur le côté, entre parenthèses, le nombre en question. En principe, tu pourras le remplir via ton code, et tu pourras probablement (enfin je crois) l'intégrer en ajax. GGtry
|
|
jeudi 25 septembre 2008 à 14:32:26 |
Re : Treeview aux fonctions étendues

equinoxe83
|
Merci à toi ggtry ! J'ai comrpis le principe et je pense que c'est la solution! MAIS (il y en a tjs un, non ??) j'ai un osuci dans l'intégration du namespace dans ma page. L'intégration dans mon code behind ne pose aucun souci (c'est déjà ça ..). Au niveau de ma page aspx, il accepte bien : <% @RegisterTagPrefix="toto"Namespace="Arbre" %>
mais pas le controle lui-même (MonArbre n'est pas un élément connu) : <toto:MonArbreID="TreeView1"runat="server"ExpandDepth="0"ImageSet="Simple"NodeIndent="15"ShowLines="True"><ParentNodeStyleFont-Bold="False"/><HoverNodeStyleFont-Underline="True"ForeColor="#DD5555"/><SelectedNodeStyleFont-Underline="True"ForeColor="#DD5555"HorizontalPadding="0px"VerticalPadding="0px"/><NodeStyleFont-Names="Verdana"Font-Size="8pt"ForeColor="Black"HorizontalPadding="0px"NodeSpacing="0px"VerticalPadding="0px"/></toto:MonArbre>C'est certainement un Pb de culture (je n'ai jamais eu à utiliser de controles utilisateurs avant).
J'ai bien tenté de place ce code dans un ascx mais là, c'est carémment toto qu'il refuse .. Tu as une idée ? une piste ?? un bon tuto ???? Merci d'avance
|
|
jeudi 25 septembre 2008 à 15:29:57 |
Re : Treeview aux fonctions étendues

equinoxe83
|
En fait, le placement dans un ascx me donne exactement le même résultat. La directive : <% @RegisterTagPrefix="toto"TagName="WebUserControl"Src="~/WebUserControl.ascx" %>
Le Pb viendrait-il du code lui-même ? Ci dessous le code (mais il est très proche de ta solution initiale)
Namespace ArbrePublicClass TreeViewEtenduInherits TreeViewProtectedOverridesFunction CreateNode() As System.Web.UI.WebControls.TreeNodeReturnNew TreeViewEtenduNoeud()EndFunctionEndClassPublicClass TreeViewEtenduNoeudInherits TreeNodePrivate nbr AsIntegerPublicProperty itemgras() AsIntegerGetReturn nbrEndGetSet(ByVal Value AsInteger)nbr = Value EndSetEndPropertyProtectedOverridesSub RenderPretext(ByVal writer As HtmlTextWriter)If IsNothing(Me.itemgras) = FalseThenwriter.RenderBeginTag(HtmlTextWriterTag.B) MyBase.RenderPreText(writer)EndIfEndSubProtectedOverridesSub RenderPostText(ByVal writer As HtmlTextWriter)If IsNothing(Me.itemgras) = FalseThenwriter.Write( " (" & Me.itemgras & ")")writer.RenderEndTag() MyBase.RenderPostText(writer)EndIfEndSub ProtectedOverridesFunction SaveViewState() AsObjectDim arrState(2) AsObjectarrState(0) = MyBase.SaveViewState()arrState(1) = Me.itemgrasReturn arrStateEndFunctionProtectedOverridesSub LoadViewState(ByVal savedState AsObject)IfNot savedState IsNothingThenDim arrState() AsObject = savedStateMe.itemgras = CType(arrState(1), Boolean)MyBase.LoadViewState(arrState(0))EndIfEndSubEndClassEnd Namespace
|
|
jeudi 25 septembre 2008 à 15:33:59 |
Re : Treeview aux fonctions étendues

ggtry
|
Bonjour,
Tu as peut-être mis ton code dans le fichier de code-behind : tapage.aspx.vb ? Si c'est cela, place le plutôt dans un fichier class.vb qui sera mis dans ton dossier App_Code ("ajouter un nouvel élément", etc.)
GGtry
|
|
jeudi 25 septembre 2008 à 15:35:38 |
Re : Treeview aux fonctions étendues

equinoxe83
|
C'est tout à fait celà !! Quand j'évoquais un Pb de culture ... Merci à toi, je vais tester tout ça et te fais un retour.
|
|
vendredi 26 septembre 2008 à 09:46:42 |
Re : Treeview aux fonctions étendues

equinoxe83
|
bonjour ggtry, ça marche nettement mieux !! Mais (encore un ??) je n'arrive pas à conserver itemgras après le postback. Je m'explique : j'arrive bien à avoir le Nbr d'article en gras lorsque je déploie le treeview au premier lancement mais dès que je clic dessus, il le retire. Si je tente d'ouvrir une autre couleur, le itemgras n'apparait pas non plus (alors que si je déploie n'importe quel couleur avant ce premier postback, j'ai bien le itemgras qui s'affiche). J'ai désactivé le saveviewstate et loaviewstate mais ça ne change rien. Par contre, si je désactive le viexstate sur le treeview1, je retrouve mes items (sauf que l'arbre se repli au postback). Une idée ?? Encore merci pour ton aide précieuse ..
|
|
vendredi 26 septembre 2008 à 10:18:45 |
Re : Treeview aux fonctions étendues

equinoxe83
|
OK, en regardant en bas de ton post sur le sujet, j'ai remarqué que tu proposais de placer le code de remplissage dans le onInit du treeview. Ben ça marche nickel ! Mais dans ces conditions, je dois repeupler l'arbre à chaque fois, donc interroger la base, recréer l'arbre, etc ... Mais c'est la seule solution, j'imagine ? Bien que je ne vois pas pourquoi il perd uniquement cette propriété ... Et là se pose encore le Pb ... de culture !! Je vais finir agriculteur si ça continue ... Quoi qu'il en soit, un GRAND MERCI à toi ggtry pour ton aide précieuse !!!!!!!
|
|
vendredi 26 septembre 2008 à 13:07:34 |
Re : Treeview aux fonctions étendues

ggtry
|
Réponse acceptée !
Bonjour,
En principe, tu ne devrais pas avoir besoin de repeupler ton arbre à chaque fois sur le oninit, à moins que outre les noeuds, tu crées aussi ton arbre en dynamique, dans un placeholder. Mais si l'arbre est déclaré dans l'asp en statique, tu peux très bien le peupler lors du premier page load (en faisant un test pour voir si la page n'est pas postback) par exemple, ou même ajouter des noeuds ensuite sur un autre événement. Dans le post que tu cites, je répondais à une question qui avait été posée avant et qui ne concernait pas la classe complète, mais une version réduite (celle qui est donnée tout au début du post). Si le formatage ajouté par 'itemgras' ne se conserve pas entre les postback, c'est peut-être qu'il y a un problème dans saveviewstate() et loadviewstate(), qui sont précisément là pour conserver ce formatage. En fait, le treeview ainsi modifié devrait être utilisable à peu près comme un treeview de base. Eventuellement, tu peux montrer le code par lequel tu remplis tes noeuds et la classe modifiée (en message privé peut-être).
GGtry
|
|
vendredi 26 septembre 2008 à 13:17:26 |
Re : Treeview aux fonctions étendues

equinoxe83
|
Bonne idée !! Je vais t'envoyer ça .. Merci
|
|
Cette discussion est classée dans : couleur, treeview, fonctions, placer, étendues
Répondre à ce message
Sujets en rapport avec ce message
Couleur de fond d'un TreeView [ par drahcir ]
Salut à tous,j'ai un probléme tout con : j'ai un controle Treeview dans ma page qui elle possède un fond en dégradé. J'ai défini la couleur de fond de
Changer la couleur d'un item dans une listBox [ par elpens ]
Bonjour a tous,Je suis en train d'essayer de changer la couleur d'un item dans une listBox.Cependant, je n'y arrive point J'ai une liste qui affiche
Treeview vb.net [ par Pachanka ]
Je comprends pas, depuis hier je manipule le treeview en asp.net (vb) et sur chaque noeud, j'ai un lien qui apparait que j'aimerais faire disparaitre.
couleur de fond au passage de la souris [ par wally88 ]
Bonsoir, j'ai une datalist comme menu en faite et aux pasage de la souris je souhaiterais que la couleur de fond change de couleur.Voir le menu de mic
Callback support [ par zigxag ]
Bonjour,J'ai fait un intranet le probleme est qu'il comporte des fonctions Callback.Le probleme c'est que certains navigateurs n'arrivent pas à faire
Construction Dynamique de multiples Dropdownlist [ par angelflo18 ]
Bonjour à tous et par avance un grand merci pour toute l'aide que vous pourrez m'apporter !Nouveau venu dans le monde .NET, et après de multiples rech
Treeview [ par gharbi1 ]
comment lié l'evennement click d'un Node avec un gridview pour afficher le contenu d'une base de données
ressources [ par Pepin21 ]
Hello,voilà ma question : dans mon application j'ai besoin de 2 fonctions : une annulation et une validation. Je pourrais avoir la même page web pour
TreeView et Requête récursive en ASP 2.0 et SQL 2005 [ par choubiket ]
Bonjour,je cherche à afficher le résultat d'une requête hiérarchique en SQL 2005 dans un contrôle de type TreeView... savez vous comment faire en ASP.
TreeView ASP/JavaScript [ par Baguauda ]
Bonjour a tous,donc voila je debute en ASP (3j ) et j'ai créer une sorte de treeview en ASP/JavaScrip.JavaScript s'occupe de l'affichage ou non des no
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
STABILITé DU DéBIT 3GSTABILITé DU DéBIT 3G par benzekrighizlane
Cliquez pour lire la suite par benzekrighizlane
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|