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

Accès aux données Discussion :

Menu vertical déroulant dynamique (BDD)


Sujet :

Accès aux données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 18
    Points
    18
    Par défaut Menu vertical déroulant dynamique (BDD)
    Bonjourrr,

    Je travaille en vb.net
    et je souhaite faire un menu vertical déroulant et dynamique
    (c'est-à-dire que les noms des menus et sous-menu sont stockées dans la base de données)

    j'arrive à créer le menu déroulant en html mais comment le rendre dynamique???
    Faut-il utiliser un genre de gridview? un literal ? ou autre???

    Code html pour le menu vertical déroulant (non dynamique) :
    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
     
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="Javascript">
    function clicMenu(num) {
     
    // Booléen reconnaissant le navigateur
    isIE = (document.all)
    isNN6 = (!isIE) && (document.getElementById)
     
    // Compatibilité : l'objet menu est détecté selon le navigateur
    if (isIE) menu = document.all['menu' + num];
    if (isNN6) menu = document.getElementById('menu' + num);
     
    // On ouvre ou ferme
    if (menu.style.display == "none"){
    // Cas ou le tableau est caché
    menu.style.display = ""
    } else {
    // On le cache
    menu.style.display = "none"
    }
    }
    </script>
    </head>
     
    <style type="text/css">
    td.titre {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: #000000;
    background-color: #959EAD;
    cursor: hand
    }
    td.soustitre {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #000000;
    background-color: #C3C9D4;
    cursor: hand
    }
    </style>
     
    <body bgcolor="#FFFFFF" text="#000000">
    	<table width="200" border="0" cellspacing="1" cellpadding="0">
    		<tr>
    			<td class="titre" onClick="clicMenu('1')">BMW</td>
    		</tr>
    		<tr style="display:none" id="menu1">
    			<td><table width="200" border="0" cellspacing="0" cellpadding="0">
    				<tr>
    					<td class="soustitre"> - Série 3</td>
    				</tr>
    				<tr>
    					<td class="soustitre"> - Série 1</td>
    				</tr>
    			</table></td>
    		</tr>
    		<tr>
    			<td class="titre" onClick="clicMenu('2')">Mercedes</td>
    		</tr>
    		<tr style="display:none" id="menu2">
    			<td><table width="200" border="0" cellspacing="0" cellpadding="0">
    				<tr>
    					<td class="soustitre"> - Classe R</td>
    				</tr>
    				<tr>
    					<td class="soustitre"> - Classe S</td>
    				</tr>
    		</table></td>
    		</tr>
    	</table>
    	<br> <br>
    </body>
    </html>

    Avec un literal ça donnerai ça: (je n'ai pas testé)
    Requete SQL :
    blablabla
    SELECT marques, sousmarque
    FROM auto
    GROUP BY marques, sousmarque
    ORDER BY marques, sousmarque
    blablabla

    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
     
    While (row("marque")).count>0)
     
    	limarque.text="<tr>"
    	limarque.text&="<td class=""titre"" onClick=""clicMenu('1')""> row(""marque"")</td>"
    	limarque.text&="</tr>"
     
    	While (row("sousmarque").count>0)
    	        lisousmarque.text="<tr style=""display:none"" id=""menu1"">"
    		lisousmarque.text&="<td><table width=""200"" border=""0"" cellspacing=""0"" cellpadding=""0"">"
    		lisousmarque.text&="<tr><td class=""soustitre"">row(""sousmarque"")</td></tr>"
    		lisousmarque.text&="</table></td><tr>"
    	End While
     
    End While

    Je ne sais pas si ce code fonctionne, aurez-vous d'autres pistes?

    Merci ! ...

  2. #2
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par hbhhhbhh Voir le message
    Je ne sais pas si ce code fonctionne, aurez-vous d'autres pistes?
    Je ne sais pas non plus, quést-ce qui se passe quand tu l'exécutes ?

    Serieusement, ca na fonctionnera pas comme ca...

    La syntaxe dácces aux donnees est basee soit sur des dataset, des datareaders ou des objets qui font un mapping des dataset/datareader sur des objets "maison"
    Dans ton cas, il te faut une source de donnees contenant toutes tes marques, et tes sousmarques, et soit faire un truc genre (admettons que tu aies un dataset) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for each (dr as Datarow in monDataset.Tables(0).Rows)
     
    if dr("marque") != marquecourante then
    'ajout de la ligne de ta marque
    marquecourante = dr("marque")
    end if
    'ajout de ta ligne de sous-marque
    next
    soit utiliser un repeater lie a ta source de donnees...

    Si tu ne vois pas du tout comment ca marche, je te conseille de passer un coup la-dessus :
    http://dotnet.developpez.com/cours/?...bnet#sqlservvb

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    ou avec un treeview peut-être??

    Comment ajoute-t-on des "enfants" à un treeview??

  4. #4
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 253
    Points
    28 253
    Par défaut
    google => how to add node treeview VB.Net


    fais un minimum de recherche s'il te plait sinon j'ai peur que certains de tes posts aient une durée de vie...éphémère

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    bah j'ai cherché ...

    en fait c'est pour un site web, tout les bouts de code que je trouve sont pour des applications...
    donc ça ne marche pas pour du web.
    par exemple:

    TreeView1.Nodes(0).Nodes(0).Text = "Odile"

    ne fonctionne pas

    Il me dit que nodes n'est pas un membre de system.web.ui.webcontrols.treenode

  6. #6
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 253
    Points
    28 253

Discussions similaires

  1. menu vertical déroulant
    Par inmone dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/03/2009, 13h52
  2. [MooTools] menu vertical déroulant
    Par gozu13 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 29/09/2008, 08h27
  3. Menu vertical déroulant 3
    Par nico3141 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 10/12/2007, 00h21
  4. [CSS]Menu vertical déroulant
    Par bitardo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/07/2007, 15h24
  5. Menu vertical déroulant
    Par Maria1505 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/06/2007, 16h33

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