Menu vertical dynamique (avec BDD)

Menu vertical dynamique (avec BDD) - HTML/CSS - Programmation

Marsh Posté le 15-05-2009 à 22:47:00    

Bonjourrr,
 
Je travaille en vb.net  
et je souhaite faire un menu vertical déroulant et [COLOR="DarkRed"]dynamique [/COLOR]
(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 :

Code :
  1. 1. <html>
  2.    2. <head>
  3.    3. <title>Untitled Document</title>
  4.    4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5.    5. <script language="Javascript">
  6.    6. function clicMenu(num) {
  7.    7.
  8.    8. // Booléen reconnaissant le navigateur
  9.    9. isIE = (document.all)
  10.   10. isNN6 = (!isIE) && (document.getElementById)
  11.   11.
  12.   12. // Compatibilité : l'objet menu est détecté selon le navigateur
  13.   13. if (isIE) menu = document.all['menu' + num];
  14.   14. if (isNN6) menu = document.getElementById('menu' + num);
  15.   15.
  16.   16. // On ouvre ou ferme
  17.   17. if (menu.style.display == "none" ){
  18.   18. // Cas ou le tableau est caché
  19.   19. menu.style.display = ""
  20.   20. } else {
  21.   21. // On le cache
  22.   22. menu.style.display = "none"
  23.   23. }
  24.   24. }
  25.   25. </script>
  26.   26. </head>
  27.   27.
  28.   28. <style type="text/css">
  29.   29. td.titre {
  30.   30. font-family: Verdana, Arial, Helvetica, sans-serif;
  31.   31. font-size: 11px;
  32.   32. color: #000000;
  33.   33. background-color: #959EAD;
  34.   34. cursor: hand
  35.   35. }
  36.   36. td.soustitre {
  37.   37. font-family: Verdana, Arial, Helvetica, sans-serif;
  38.   38. font-size: 10px;
  39.   39. color: #000000;
  40.   40. background-color: #C3C9D4;
  41.   41. cursor: hand
  42.   42. }
  43.   43. </style>
  44.   44.
  45.   45. <body bgcolor="#FFFFFF" text="#000000">
  46.   46. <table width="200" border="0" cellspacing="1" cellpadding="0">
  47.   47.  <tr>
  48.   48.   <td class="titre" onClick="clicMenu('1')">BMW</td>
  49.   49.  </tr>
  50.   50.  <tr style="display:none" id="menu1">
  51.   51.   <td><table width="200" border="0" cellspacing="0" cellpadding="0">
  52.   52.    <tr>
  53.   53.     <td class="soustitre"> - Série 3</td>
  54.   54.    </tr>
  55.   55.    <tr>
  56.   56.     <td class="soustitre"> - Série 1</td>
  57.   57.    </tr>
  58.   58.   </table></td>
  59.   59.  </tr>
  60.   60.  <tr>
  61.   61.   <td class="titre" onClick="clicMenu('2')">Mercedes</td>
  62.   62.  </tr>
  63.   63.  <tr style="display:none" id="menu2">
  64.   64.   <td><table width="200" border="0" cellspacing="0" cellpadding="0">
  65.   65.    <tr>
  66.   66.     <td class="soustitre"> - Classe R</td>
  67.   67.    </tr>
  68.   68.    <tr>
  69.   69.     <td class="soustitre"> - Classe S</td>
  70.   70.    </tr>
  71.   71.  </table></td>
  72.   72.  </tr>
  73.   73. </table>
  74.   74. <br> <br>
  75.   75. </body>
  76.   76. </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 :
 
 

Code :
  1. 1. While (row("marque" )).count>0)
  2.    2.
  3.    3. limarque.text="<tr>"
  4.    4. limarque.text&="<td class=""titre"" onClick=""clicMenu('1')""> row(""marque"" )</td>"
  5.    5. limarque.text&="</tr>"
  6.    6.
  7.    7. While (row("sousmarque" ).count>0)
  8.    8.         lisousmarque.text="<tr style=""display:none"" id=""menu1"">"
  9.    9.  lisousmarque.text&="<td><table width=""200"" border=""0"" cellspacing=""0"" cellpadding=""0"">"
  10.   10.  lisousmarque.text&="<tr><td class=""soustitre"">row(""sousmarque"" )</td></tr>"
  11.   11.  lisousmarque.text&="</table></td><tr>"
  12.   12. End While
  13.   13.
  14.   14. End While


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

Reply

Marsh Posté le 15-05-2009 à 22:47:00   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed