DevelopersDotNet.com

Contenido original para la comunidad de desarrolladores Microsoft

MS AJAX 1.0 y el Accordion

 MS AJAX y el Accordion

Hola a todos, pues seguimos con la serie de controles del AJAX Control Toolkit de CodePlex, esta vez, platicaré del control Accordion del Toolkit, este es un control bien padre que nos deja crear una serie de paneles autocolapsables con el objetivo nuevamente de mejorar la apariencia de nuestras páginas web y en este caso, optimizar el espacio.

El control Accordion

El objetivo de este control, es el de, por medio de la definición de una serie de paneles, mostrar y ocultar la información de cada uno de estos paneles. El uso y definición del control es bastante sencilla, lo que hay que hacer, es definir cada uno de los paneles que estarán contenidos dentro del control Accordion y definir para cada panel, un encabezado (que tendrá la función de recibir el clic para mostrar/ocultar cada panel) y el contenido de cada panel. El ejemplo que estaremos construyendo quedará de la siguiente manera:

Figura 1

Flecha

Figura 2

A continuación les platico de las propiedades más importantes del control Accordion:

Figura 3

El Ejemplo

Pasemos directamente al ejemplo, en este caso, tenemos una página ASP .Net sencilla con tres párrafos a los cuales vamos a transformar en paneles del control Accordion. Les muestro directamente la página y el HTML que la forma:

Figura 4

Figura 5

Como se podrán dar cuenta, la página esta formada únicamente por tres párrafos, los cuales, cada uno tiene un encabezado y la información de cada uno de los tres párrafos, en este ejemplo, los tengo organizados por medio de una serie de etiquetas <div>. Los pasos para trabajar con el Accordion son los siguientes:

1. Insertamos el control Accordion de manera que quede así:

Figura 6

2. Cada uno de los bloques que forman al Accordion se definen mediante otro control llamado el AccordionPane, cada AccordionPane tiene a su vez, dos etiquetas que definen su contenido, el “header” y el “content”, de tal manera que para este ejemplo, necesitaremos tres AccordionPane’s dentro del Accordion, de manera que quedará así:

Figura 7

3. El siguiente y último paso es acomodar cada uno de los párrafos que tenemos dentro de nuestra página web en las secciones que corresponde, en este caso, cada “Header” y cada “Content”, de manera que quede así:

Figura 8

4. Para terminar, si lo desean, pueden aplicar una hoja de estilo, entre las propiedades del Accordion, se encuentra la propiedad “HeaderCssClass” que define el estilo para cada encabezado de cada “AccordionPane” y la propiedad “ContentCssClass” que define el estilo para cada sección de contenido de los AccordionPane, en este caso, yo tengo una hoja de estilo de la siguiente forma:

Figura 9

Por lo que basta con utilizar las propiedades del Accordion:

Figura 10

Conclusión

Una vez más hemos visto como por medio del AJAX Control Toolkit de CodePlex, podemos implementar de manera muy sencilla una serie de efectos y animaciones para nuestros sitios web de manera que tengan mucho más impacto visual.

Como siempre, mucha suerte, nos vemos pronto…!!!


Enviado Apr 27 2007, 07:48 PM por gmorales

Comments

martin wrote re: MS AJAX 1.0 y el Accordion
on 08-27-2007 12:21 PM

Hola,

tengo este código que obtiene los datos de una tabla y los muestra en tiempo de ejecución al control Ajax:Accordion

<ajax:Accordion ID="Acd_NuevoReporte" runat="server" FadeTransitions="false" FramesPerSecond="40" TransitionDuration="250" DataSourceID="ObjectDataSource1" AutoSize="none" SelectedIndex="0" HeaderCssClass="accordionHeader"  ContentCssClass="accordionContent" HeaderSelectedCssClass="accordionHeaderSelected" >

<HeaderTemplate><table><tr><td> <%#Eval("Descripcion")%></td></tr></table></HeaderTemplate>

<ContentTemplate><asp:TextBox ID="TextBox1" runat="server" Font-Names="Tahoma" Font-Size="7.5pt" Height="100px" TextMode="MultiLine" Width="690px"></asp:TextBox></ContentTemplate>

</ajax:Accordion>

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Traer_x_código"TypeName="Chancado">

<SelectParameters><asp:ControlParameter ControlID="btn_Fecha" DefaultValue="2" Name="pCodigo" PropertyName="Text" Type="Int32" /></SelectParameters>

</asp:ObjectDataSource>

For i As Integer = 1 To 5

Dim dato As String = Acd_NuevoReporte.Panes.Item(i).Header

Dim descripcion As String = Acd_NuevoReporte.Panes.Item(i).Content

Next

Ahora el problema que tengo es que cuando quiero recorrer el control Accordion no encuentra los datos.

Tienen alguna idea de solucionar esto???

Gracias.

Ofrecido por Community Server (Non-Commercial Edition)