Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Machi

Repeater Control - 3 colunas

Recommended Posts

Boa noite.

Pretendo fazer a listagem de dados usando para tal um Repeater, listagem essa que deverá ter 3 colunas e n linhas.

Tentei usar os <td> normais para fazer as colunas, mas em cada linha os dados aparecem repetidos nas 3 colunas.

Como poderei resolver este problema de modo a que a listagem seja feita correctamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tiver usando a versão 3.5 do framework utiliza o Controle ListView, mas so obrigatorio usar Repeater, usa CSS que rola!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A estrutura que tenho é a seguinte:

 

<asp:Repeater ID="OtherProductsRepeater" runat="server">
    <HeaderTemplate>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
    </HeaderTemplate>
    <ItemTemplate>
        <tr> <%--Inicio Linha--%>
            <td><%-- Inicio primeira coluna --%>
                 <%-- Dados aqui --%>
            </td> <%-- Fim Primeira Coluna --%>
    </ItemTemplate>
    <AlternatingItemTemplate>
        <td> <%--Inicio Segunda Coluna--%>
                 <%-- Dados aqui --%>
        </td> <%--Fim Segunda Coluna--%>
        </tr> <%--Fim Linha--%>
    </AlternatingItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É justamente os "dados aqui" que preciso ver o que faz, provavelmente esta colocando o mesmo campo em todas as colunas.

O registro só muda quando de linha em linha, não de coluna em coluna.

 

http://www.macoratti.net/aspn_rep.htm

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui está o código completo quintelab:

 

<asp:Repeater ID="OtherProductsRepeater" runat="server">
    <HeaderTemplate>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
    </HeaderTemplate>
    <ItemTemplate>
        <tr> <%--Inicio Linha--%>
            <td><%-- Inicio primeira coluna --%>
                <table class="pc_search">
                    <tr>
                        <td id="tdOtherImageOdd" runat="server" class="pc_search_c pc_sizeSearchFoto">
                            <table width="100%" border="0" cellspacing="0" cellpadding="0" class="pc_searchFoto pc_sizeSearchFoto"
                                onmouseover="this.className='pc_searchFoto_over pc_sizeSearchFoto';" onmouseout="this.className='pc_searchFoto pc_sizeSearchFoto';">
                                <tr>
                                    <td>
                                        <asp:ImageButton ID="imgOtherProductOdd" CssClass="pc_searchFoto_size" runat="server"
                                            AlternateText="$Ver ficha do produto" CommandName="ProductDetail" CommandArgument='<%#CreateProductDetailArguments(Container.DataItem("Artigo"), Container.DataItem("CategoriaID"))%>'>
                                        </asp:ImageButton>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td class="pc_search_c">
                            <asp:LinkButton CssClass="pc_searchTitle" runat="server" Text='<%# Container.DataItem("Artigo") %>'
                                CommandName="ProductDetail" CommandArgument='<%#CreateProductDetailArguments(Container.DataItem("Artigo"), Container.DataItem("CategoriaID"))%>'></asp:LinkButton>
                            <table width="100%" border="0" cellspacing="0" cellpadding="0" class="pc_searchPrice">
                                <tr>
                                    <%# GetListProductUnitPriceHtml(Container.DataItem("Preco"), Container.DataItem("Desconto1"), Container.DataItem("Desconto2"), Container.DataItem("Desconto3"), Container.DataItem("ValorIEC"), Container.DataItem("ValorEcoTaxa"), Container.DataItem("TaxaIva"))%>
                                    <td id="tdOtherDetailOdd" runat="server">
                                        <table width="100%" border="0" cellspacing="0" cellpadding="0" class="pc_goDetail"
                                            onmouseover="this.className='pc_goDetail_over';" onmouseout="this.className='pc_goDetail';">
                                            <tr>
                                                <td>
                                                    <asp:ImageButton ID="imgProductDetailOdd" runat="server" CommandName="ProductDetail"
                                                        CommandArgument='<%#CreateProductDetailArguments(Container.DataItem("Artigo"), Container.DataItem("CategoriaID"))%>'>
                                                    </asp:ImageButton>
                                                </td>
                                            </tr>
                                        </table>
                                    </td>
                                    <td id="tdOtherAdd2CartOdd" runat="server">
                                        <table cellpadding="0" cellspacing="0">
                                            <tr>
                                                <td>
                                                      
                                                </td>
                                                <td class="pc_productQuant_l">
                                                     
                                                </td>
                                                <td class="pc_productQuant_c">
                                                    <asp:TextBox Width="25" ID="txtQuant" onblur="this.className='data_input width_xs';"
                                                        onfocus="this.className='data_input_over width_xs';" runat="server" Text="1"
                                                        CssClass="data_input width_xs" MaxLength="4" onkeydown="checkInt();"></asp:TextBox>
                                                </td>
                                                <td>
                                                    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="pc_addBasket"
                                                        onmouseover="this.className='pc_addBasket_over'; " onmouseout="this.className='pc_addBasket';"
                                                        style="margin-left: -1px">
                                                        <tr>
                                                            <td>
                                                                <asp:ImageButton ID="imgSelectProductOdd" runat="server" CommandName="Add2Cart" CommandArgument='<%#CreateAdd2CartArguments(Container.DataItem("Artigo"), Container.DataItem("CategoriaID"), Container.DataItem("Preco"), GetTotalDiscount(Container.DataItem("Desconto1"),Container.DataItem("Desconto2"),Container.DataItem("Desconto3")), SafeString(Container.DataItem("Descricao")), Container.DataItem("TratamentoDim"), SafeString(Container.DataItem("FormulaVendas")), Container.DataItem("TaxaIVA"),Container.DataItem("ValorIEC"), Container.DataItem("ValorEcoTaxa"))%>'>
                                                                </asp:ImageButton>
                                                            </td>
                                                        </tr>
                                                    </table>
                                                </td>
                                            </tr>
                                        </table>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </td> <%-- Fim Primeira Coluna --%>
    </ItemTemplate>
    <AlternatingItemTemplate>
        <td> <%--Inicio Segunda Coluna--%>
            <table class="pc_search">
                <tr>
                    <td id="tdOtherImageEven" runat="server" class="pc_search_c pc_sizeSearchFoto">
                        <table width="100%" border="0" cellspacing="0" cellpadding="0" class="pc_searchFoto pc_sizeSearchFoto"
                            onmouseover="this.className='pc_searchFoto_over pc_sizeSearchFoto';" onmouseout="this.className='pc_searchFoto pc_sizeSearchFoto';">
                            <tr>
                                <td>
                                    <asp:ImageButton ID="imgOtherProductEven" CssClass="pc_searchFoto_size" runat="server"
                                        AlternateText="$Ver ficha do produto" CommandName="ProductDetail" CommandArgument='<%#CreateProductDetailArguments(Container.DataItem("Artigo"), Container.DataItem("CategoriaID"))%>'>
                                    </asp:ImageButton>
                                </td>
                            </tr>
                        </table>
                    </td>

                </tr>
                <tr>
                    <td class="pc_search_c">
                        <asp:LinkButton CssClass="pc_searchTitle" runat="server" Text='<%# Container.DataItem("Artigo")%>'
                            CommandName="ProductDetail" CommandArgument='<%#CreateProductDetailArguments(Container.DataItem("Artigo"), Container.DataItem("CategoriaID"))%>'></asp:LinkButton>
                        <table width="100%" border="0" cellspacing="0" cellpadding="0" class="pc_searchPrice">
                            <tr>
                                <%#GetListProductUnitPriceHtml(Container.DataItem("Preco"), Container.DataItem("Desconto1"), Container.DataItem("Desconto2"), Container.DataItem("Desconto3"), Container.DataItem("ValorIEC"), Container.DataItem("ValorEcoTaxa"), Container.DataItem("TaxaIva"))%>
                                <td id="tdOtherDetailEven" runat="server">
                                    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="pc_goDetail"
                                        onmouseover="this.className='pc_goDetail_over';" onmouseout="this.className='pc_goDetail';">
                                        <tr>
                                            <td>
                                                <asp:ImageButton ID="imgProductDetailEven" runat="server" CommandName="ProductDetail"
                                                    CommandArgument='<%#CreateProductDetailArguments(Container.DataItem("Artigo"), Container.DataItem("CategoriaID"))%>'>
                                                </asp:ImageButton>
                                            </td>
                                        </tr>
                                    </table>
                                </td>
                                <td id="tdOtherAdd2CartEven" runat="server">
                                    <table cellpadding="0" cellspacing="0">
                                        <tr>
                                            <td>
                                                  
                                            </td>
                                            <td class="pc_productQuant_l">
                                                 
                                            </td>
                                            <td class="pc_productQuant_c">
                                                <asp:TextBox Width="25" ID="txtQuant" onblur="this.className='data_input width_xs';"
                                                    onfocus="this.className='data_input_over width_xs';" runat="server" Text="1"
                                                    CssClass="data_input width_xs" MaxLength="4" onkeydown="checkInt();"></asp:TextBox>
                                            </td>
                                            <td>
                                                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="pc_addBasket"
                                                    onmouseover="this.className='pc_addBasket_over'; " onmouseout="this.className='pc_addBasket';"
                                                    style="margin-left: -1px">
                                                    <tr>
                                                        <td>
                                                            <asp:ImageButton ID="imgSelectProductEven" runat="server" CommandName="Add2Cart"
                                                                CommandArgument='<%#CreateAdd2CartArguments(Container.DataItem("Artigo"), Container.DataItem("CategoriaID"), Container.DataItem("Preco"), GetTotalDiscount(Container.DataItem("Desconto1"),Container.DataItem("Desconto2"),Container.DataItem("Desconto3")), SafeString(Container.DataItem("Descricao")), Container.DataItem("TratamentoDim"), SafeString(Container.DataItem("FormulaVendas")), Container.DataItem("TaxaIVA"),Container.DataItem("ValorIEC"), Container.DataItem("ValorEcoTaxa"))%>'>
                                                            </asp:ImageButton>
                                                        </td>
                                                    </tr>
                                                </table>
                                            </td>
                                        </tr>
                                    </table>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </td> <%--Fim Segunda Coluna--%>
        </tr> <%--Fim Linha--%>
    </AlternatingItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta mal organizado, por exemplo, seu ItemTemplate você inicia com um tr e finaliza com um td, o ideal será finalizar com a tag que fecha o tr.

 

Qualquer coisa remova o AlternatingItemTemplate, quando o ItemTemplate estiver finalizado e funcionando você copia ele e joga também no AlternatingItemTemplate.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.