Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/07/2007, 01:18
Avatar de zacktagnan
zacktagnan
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 10 meses
Puntos: 3
Re: Construir una lista dinámicamente

Hola kornissues12:

La verdad es que no entiendo muy bien lo que me sugieres...Si me pudieras explicar más detalladamente ...
Es decir, tu el resultado de la consulta ¿¿la metes como new string en el array string arreglo??? No sé, ... igual estoy diciendo una burrada...

Cita:
string[] arreglo = new string[1];

Array.Resize(ref arreglo, arreglo.Length + 1);
el primer parametro es la referencia al arreglo y el segundo el nuevo tamaño.
No obstante, parece que ya he conseguido lo que quería almacenando la consulta en un DataTable y luego recorriendo las Rows y mostrándolas con formato de listas según ciertas condiciones a cumplir a través de if ... else. Y luego a todo le aplico unos estilos Css para que se muestre a modo de menú desplegable.

Lo único que en ciertas partes dónde abro la conexión para cierta consulta no termino de cerrarla pues choca con otra parte abierta ...

Bueno la cosa me queda de esta manera:

El código que transforma todo en menú y los estilos están sacados del código de uno de los menús de la página CSSPLAY, concretamente este:
http://www.cssplay.co.uk/menus/final_drop.html

Tras alguna modificación, la hoja de estilos me queda así
Código:
/*************************************************************************************************/

/* ================================================================ 
This copyright notice must be untouched at all times.

The original version of this stylesheet and the associated (x)html
is available at http://www.cssplay.co.uk/menus/final_drop.html
Copyright (c) 2005-2007 Stu Nicholls. All rights reserved.
This stylesheet and the associated (x)html may be modified in any 
way to fit your requirements.
=================================================================== */

.menu {font-family:Verdana, Arial, Helvetica, sans-serif; width:745px; height:31px; font-size:0.85em; position:relative; z-index:100; border:1px solid #000; border-width:1px 1px 1px 0px; background:#758279;}
/* hack to correct IE5.5 faulty box model */
* html .menu {width:746px; w\idth:745px;}
/* remove all the bullets, borders and padding from the default list styling */
.menu ul {padding:0;margin:0;list-style-type:none;}
.menu ul ul {width:149px;}
/* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
.menu li {float:left;width:149px;position:relative;}
/* style the links for the top level */
.menu a, .menu a:visited {display:block;font-size:11px;text-decoration:none; color:#fff; width:138px; height:31px; border:1px solid #000; border-width:0px 0px 0px 1px; background:#758279; padding-left:10px; line-height:29px;}
/* a hack so that IE5.5 faulty box model is corrected */
* html .menu a, * html .menu a:visited {width:149px; w\idth:138px;}

/* style the second level background */
.menu ul ul a.drop, .menu ul ul a.drop:visited {background:#d4d8bd url(../images/submenu.gif) bottom right no-repeat;}
/* style the second level hover */
.menu ul ul a.drop:hover{background:#c9ba65 url(../images/submenu.gif) bottom right no-repeat;}
.menu ul ul :hover > a.drop {background:#c9ba65 url(../images/submenu.gif) bottom right no-repeat;}
/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {background:#e2dfa8;}
/* style the third level hover */
.menu ul ul ul a:hover {background:#b2ab9b;}


/* hide the sub levels and give them a positon absolute so that they take up no room */
.menu ul ul {visibility:hidden;position:absolute;height:0;top:31px;left:0; width:149px;border-top:1px solid #000;}
/* another hack for IE5.5 */
* html .menu ul ul {top:30px;t\op:31px;}

/* position the third level flyout menu */
.menu ul ul ul{left:149px; top:-1px; width:149px;}

/* position the third level flyout menu for a left flyout */
.menu ul ul ul.left {left:-149px;}

/* style the table so that it takes no ppart in the layout - required for IE to work */
.menu table {position:absolute; top:0; left:0; border-collapse:collapse;;}

/* style the second level links */
.menu ul ul a, .menu ul ul a:visited {background:#d4d8bd; color:#000; height:auto; line-height:1em; padding:5px 10px; width:128px;border-width:0 1px 1px 1px;}
/* yet another hack for IE5.5 */
* html .menu ul ul a, * html .menu ul ul a:visited {width:150px;w\idth:128px;}

/* style the top level hover */
.menu a:hover, .menu ul ul a:hover{color:#fff; background:#949e7c;}
.menu :hover > a, .menu ul ul :hover > a {color:#fff;background:#949e7c;}

/* make the second level visible when hover on first level list OR link */
.menu ul li:hover ul,
.menu ul a:hover ul{visibility:visible; }
/* keep the third level hidden when you hover on first level list OR link */
.menu ul :hover ul ul{visibility:hidden;}
/* make the third level visible when you hover over second level list OR link */
.menu ul :hover ul :hover ul{ visibility:visible;}
/**/
/* keep the fourth level hidden when you hover on second level list OR link */
.menu ul :hover ul :hover ul ul{visibility:hidden;}
/* make the fourth level visible when you hover over third level list OR link */
.menu ul :hover ul :hover ul :hover ul{ visibility:visible;}

/*************************************************************************************************/
[*] en el .aspx
Código:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Página sin título</title>
    <link href="css/menu_desplegable.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <div class="menu">
        <%= construirMenu()%>
    </div>
    </form>
</body>
</html>
[... SIGUE EN EL SIGUIENTE MENSAJE ...]
__________________
Saludos,

zacktagnan.
=================================================