none
Problemas con Repeater RRS feed

  • Pregunta

  • Hola que tal

    Tengo un repeater donde cargo una serie de imagenes desde un XML pero quisiera saber como hacerle para que me mostrata de la siguiente forma:


    Galeria de Imagenes

    Imagen1            Imagen2              Imagen3              Imagen4
    Imagen5            Imagen6              Imagen7              Imagen8
    Imagen9            Imagen10            Imagen11            Imagen12

    y que no se repita.

    Alguien me podrias orientas ??


    Saludos

    viernes, 13 de marzo de 2009 5:53

Respuestas

  • Yo usaría un DataList para este caso. Tienes las propiedades:

    RepeatDirection: Horizontal/Vertical
    RepeatColums: Númerico
    RepeatLayout

    Para tu caso:

    RepeatDirection: Horizontal
    RepeatColums: 4
    RepeatLayout: Table

    Salu2


    http://geeks.ms/blogs/lruiz - MADNUG Member - Spenta Consulting .: MCP -MCTS :.
    • Marcado como respuesta Tom_1003 domingo, 15 de marzo de 2009 21:57
    viernes, 13 de marzo de 2009 7:55

Todas las respuestas

  • Yo usaría un DataList para este caso. Tienes las propiedades:

    RepeatDirection: Horizontal/Vertical
    RepeatColums: Númerico
    RepeatLayout

    Para tu caso:

    RepeatDirection: Horizontal
    RepeatColums: 4
    RepeatLayout: Table

    Salu2


    http://geeks.ms/blogs/lruiz - MADNUG Member - Spenta Consulting .: MCP -MCTS :.
    • Marcado como respuesta Tom_1003 domingo, 15 de marzo de 2009 21:57
    viernes, 13 de marzo de 2009 7:55
  • Lo puedes hacer con listas (element html UL), y con un estilo en especial. De tal manera que se acomode a la pantalla, lo que hace mostrar los elemenos horizontalmente, pero ya no hay espacio lo muestra en ela siguiente línea. Es estilo CSS nada mas.

    No tengo a la mano el estilo, te lo juego mas tarde.

    Saludos,
    Sergio Tarrillo - http://sergiot2.com/blog/
    Si la respuesta ha sido de utilidad marca la como respuesta correcta.
    viernes, 13 de marzo de 2009 21:02
  • Exelente Luis, no me habia ocurrido :S
    ya lo hice y me funciono del todo bien.

    Muchas gracias ¡¡¡

    Y gracias como quiera Sergio.

    Saludos.
    domingo, 15 de marzo de 2009 21:57
  •  En el siguiente ejemplo, se ve como las imagenes del Repeater se alinean horizontalmente, de acuerdo a la resolución del navegador.

    Clase que simula el acceso a datos:

    namespace webDemo01  
    {  
        [DataObject]  
        public class cProducto  
        {  
     
            public String Nombre { getset; }  
            public String urlImage { getset; }  
     
            [DataObjectMethod(DataObjectMethodType.Select,true)]  
            public static List<cProducto> getAll()  
            {  
                List<cProducto> lstProd = new List<cProducto>();  
     
                lstProd.Add(new cProducto()  
                {  
                    Nombre = "Laptop",  
                    urlImage = "/Photos/1.jpg" 
                });  
                lstProd.Add(new cProducto()  
                {  
                    Nombre = "Laptop2",  
                    urlImage = "/Photos/2.jpg" 
                });  
                lstProd.Add(new cProducto()  
                {  
                    Nombre = "Laptop3",  
                    urlImage = "/Photos/3.jpg" 
                });  
                lstProd.Add(new cProducto()  
                {  
                    Nombre = "Laptop4",  
                    urlImage = "/Photos/4.jpg" 
                });  
                lstProd.Add(new cProducto()  
                {  
                    Nombre = "Laptop5",  
                    urlImage = "/Photos/5.jpg" 
                });  
                lstProd.Add(new cProducto()  
                {  
                    Nombre = "Laptop6",  
                    urlImage = "/Photos/6.jpg" 
                });  
     
                return lstProd;  
            }  
     
        }  
    }  
     

    Hoja de estilo:

    .productlist li  
    {  
        displayinline;  
        floatleft;  
        margin-left15px;  
        margin-bottom15px;  

    Y finalmente el Repeater:

    <head runat="server">  
        <title></title>  
        <link href="Base.css" type="text/css" rel="Stylesheet" /> 
    </head> 
    <body> 
        <form id="form1" runat="server">  
        <div> 
            <asp:Repeater ID="repImages" runat="server" DataSourceID="odsProducts">  
                <HeaderTemplate> 
                    <ul class="productlist">  
                </HeaderTemplate> 
                <ItemTemplate> 
                    <li> 
                        <img width="300" height="300" src="<%#Eval("urlImage") %>" /> 
                        <br /> 
                        <%# Eval("Nombre") %> 
                    </li> 
                </ItemTemplate> 
                <FooterTemplate> 
                    </ul></FooterTemplate>  
            </asp:Repeater> 
            <asp:ObjectDataSource ID="odsProducts" runat="server" OldValuesParameterFormatString="original_{0}" 
                SelectMethod="getAll" TypeName="webDemo01.cProducto"></asp:ObjectDataSource> 
        </div> 
        </form> 
    </body> 

    Por si alguién lo necesita. Este código sería ideal, si el número de imagenes a mostrar por línea no es constante, y se debe redimensionar al tamaño del navegador.

    Saludos,
    Sergio Tarrillo - http://sergiot2.com/blog/
    Si la respuesta ha sido de utilidad marca la como respuesta correcta.
    • Propuesto como respuesta EdgardoJ viernes, 3 de abril de 2009 16:31
    domingo, 15 de marzo de 2009 23:56
  • Me alegro que te haya funcionado :)

    Un sakudo
    http://geeks.ms/blogs/lruiz - MADNUG Member - Spenta Consulting .: MCP -MCTS :.
    lunes, 16 de marzo de 2009 7:50