2012-02-20 16 views
6

Estoy tratando de construir una tabla HTML usando un repetidor de ASP:Crear una tabla HTML con un repetidor ASP, repitiendo horizontal

<asp:Repeater ID="RepeaterVersionsForPie" runat="server"> 
    <ItemTemplate> 
     <table id="VersionsTable" > 

       <tr> 
        <th> 
        <%#Eval("nameVersion")%> 
        </th> 

       </tr> 

    </ItemTemplate> 
    <ItemTemplate> 
     <tbody> 
      <tr> 
       <td tag="<%#Eval("idVersion")%>"> 
        <%#Eval("NumberOfCompaniesUsingThisVersion")%> 
       </td> 
      </tr> 
     </tbody> 
    </ItemTemplate> 
    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

Ésta es una tabla básica que consiste en dos líneas y columnas X . La segunda línea aparece sin problemas mientras que la primera es invisible. ¿Alguien puede ayudar a encontrar lo que falta? Gracias de antemano.

+0

Simplemente convierta primero ItemTemplate en HeaderTemplate (¿error de tipeo?) – mshsayem

+0

Ya había intentado usar HeaderTemplate pero no está funcionando, no entiendo por qué ... – Slrg

+0

Cambie eso a HeaderTemplate y eche un vistazo al error panel del navegador (Ctrl + Shift + J para Firefox) ... – mshsayem

Respuesta

9

Creo que el problema central es que Repeater no está diseñado para repetirse horizontalmente.

Quizás debería intentar usar DataList que permite especificar RepeatingDirection.

actualización

Si no es necesario repetir horizontalmente (como su pregunta sugiere "... dos líneas y columnas X") su Repeater debería tener este aspecto

<asp:Repeater ID="RepeaterVersionsForPie" runat="server"> 

    <HeaderTemplate> 
     <table id="VersionsTable"> 
    </HeaderTemplate> 

    <ItemTemplate> 
     <tr> 
      <th><%# Eval("nameVersion") %></th> 
      <!-- Important: Put attributes in single quotes so they don't get 
       mixed up with your #Eval("xxx") double quotes! --> 
      <td tag='<%#Eval("idVersion")%>'> 
       <%# Eval("DocumentName") %> 
      </td> 
     </tr> 
    </ItemTemplate> 

    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

Nota que no debe repetir el <table> en su <ItemTemplate> y usar comillas simples cuando necesita poner su Eval dentro de un atributo.

+0

Gracias, pero de todos modos este no es un problema grave, la mesa está construida verticalmente. ¿Cómo es que no funciona? – Slrg

+0

Vea mi respuesta actualizada para repetir de forma vertical simple. – Filburt

+0

Muchas gracias chico! – Slrg

Cuestiones relacionadas