2009-11-19 15 views
5

4 öğenin bir tekrarlayıcıyla yatay olarak nasıl görüneceğini gösteren herhangi bir ipucu var mı? Bir tekrarlayıcı, varsayılan olarak aşağı inen öğeleri gösterir. senin <td> etiketleri için bir CSS sınıfı ayarlamak ve açık bir genişlik ayarlamakTekrarlayıcıda satır başına x öğesini nasıl gösterirsiniz?

<table border=0 cellpadding=0 cellspacing=0 align="center" width="800px;> 
    <tr> 
     <asp:Repeater ID="rptTest" runat="server"> 
      <ItemTemplate> 
        <td> 
         <h3><a href="<%#GetItemLink((Item)Container.DataItem) %>"><%#((WebMenuItem)Container.DataItem).Name %></a></h3> 
         <div> 
          <a href="<%#GetUrl((Item)Container.DataItem) %>"> 
           <img src="<%#GetImage((Item)Container.DataItem) %>" alt="<%#GetAltText((Item)Container.DataItem) %>" /> 
          </a> 
         </div> 
        </td> 
      </ItemTemplate> 
     </asp:Repeater> 
    </tr> 
</table> 
+0

sadece bir 4 sütunda birçok satır ızgara göstermek istiyorum bu sekmeli veri veya veri mı ColorThumbnailImage var? Örneğin resimli küçük resimler gibi. –

+0

Hepsi, tekrarlayıcı kullanmak istiyorum, başka bir şey yok. – PositiveGuy

+0

Bu, tablo verileridir, ancak resimler ve metinler, yalnızca bir ızgaradaki ürünleri gösteren metinler değil, her satır için 4'dür. Hiçbir yatağı olmayan – PositiveGuy

cevap

0

Dene: Burada şimdiye kadar benim test tekrarlayıcı kodudur. RepeatColumns özelliğiyle DataList denetimi kullanma

+0

. Her öğe üzerinde genişlik olsa bile bir tekrarlayıcı varsayılan olarak tekrarlanır. – PositiveGuy

+1

bu doğru değil, Tekrarlayıcı şablonunun amacı kendi özel HTML'nizi oluşturmaktır ve nasıl oluşturulacağını yorumlayan tarayıcıdır. Her şey, tarayıcıya gönderilen HTML'nin nasıl oluşturulduğu ve tarayıcının düzgün bir şekilde nasıl işleneceğini açıklayan kuralların nasıl tanımlandığıyla ilgilidir. – jaywon

2

basit olabilir:

DataList1.RepeatColumns = 4; 
DataList1.RepeatDirection = RepeatDirection.Horizontal; 
3

Scott Guthrie aşağıdaki article bir ListView kontrolü ile bunun nasıl bir örnek verdi. Denetimi, sırasız bir liste oluşturmak için kullanır ve düzeni kontrol etmek için CSS kullanır.

+0

İyi seçim - öğeleri bir arada gruplandırma yeteneği var ... +1 – IrishChieftain

+0

Ne düşündüğüm de. –

2

kullanın ListView http://msdn.microsoft.com/en-us/library/bb398790.aspx

<asp:ListView runat="server" ID="ListView1" 
    DataSourceID="SqlDataSource1" 
    GroupItemCount="5"> 
    <LayoutTemplate> 
    <table runat="server" id="table1"> 
     <tr runat="server" id="groupPlaceholder"> 
     </tr> 
    </table> 
    </LayoutTemplate> 
    <GroupTemplate> 
    <tr runat="server" id="tableRow"> 
     <td runat="server" id="itemPlaceholder" /> 
    </tr> 
    </GroupTemplate> 
    <ItemTemplate> 
    <td runat="server"> 
     <%-- Data-bound content. --%> 
     <asp:Label ID="NameLabel" runat="server" 
      Text='<%#Eval("Name") %>' /> 
    </td> 
    </ItemTemplate> 
</asp:ListView> 
20
<table> 
    <asp:Repeater id="rptTest" runat="server"> 
     <ItemTemplate> 
      <%# (Container.ItemIndex + 4) % 4 == 0 ? "<tr>" : string.Empty %> 
       <td> 
        ... cell contents omitted ... 
       </td> 
      <%# (Container.ItemIndex + 4) % 4 == 3 ? "</tr>" : string.Empty %> 
     </ItemTemplate> 
    </asp:Repeater> 
</table> 

Uzun mütevazi tekrarlayıcı yaşa!

+0

Mükemmel, günümü kurtardın! – magnattic

+0

@Jeff Sternal Senin çözümünü denedim, ama bana hata verdi, neden? – Alaa

+0

@Alaa: Burada daha fazla bilgi verirseniz veya soru olarak gönderirseniz, size daha iyi bir şans vereceğim. –

0

Bu işi yapabilecek (ı olabilecek tahmin ediyorum daha dört resim bir satır daha): bu kadar denenmemiş

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

<HeaderTemplate> 
<table border=0 cellpadding=0 cellspacing=0 align="center" width="800px"> 
<tr> 
</HeaderTemplate> 

<ItemTemplate> 
<%# (Container.ItemIndex != 0 && Container.ItemIndex % 4 == 0) ? @"</tr><tr>" : string.Empty %> 
<td> 
<h3><a href="<%#GetItemLink((Item)Container.DataItem) %>"><%# (WebMenuItem)Container.DataItem).Name %></a></h3> 
<div> 
<a href="<%#GetUrl((Item)Container.DataItem) %>"><img src="<%#GetImage((Item)Container.DataItem) %>" alt="<%#GetAltText((Item)Container.DataItem) %>" /></a> 
</div> 
</td> 
</ItemTemplate> 

<FooterTemplate> 
</tr> 
</table> 
</FooterTemplate> 

</asp:Repeater> 

(hiçbir IDE :)

o yardımcı olmazsa , bazı yanıtlar this question olabilir.

4

Nick'in önerisini değiştirme 5 yatay x n dikey Resim Izgarası yapmak için kullanabildim. Sağol Nick!

<asp:Repeater ID="colorsList" runat="server"> 
    <HeaderTemplate> 
     <table> 
     <tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <%# (Container.ItemIndex != 0 && Container.ItemIndex % 5 == 0) ? @"</tr><tr>" : string.Empty %> 
     <td> 
     <div><img src="<%#ColorThumbnailImage((string)DataBinder.Eval(Container.DataItem, "COLOR_SQUARE_IMAGE")) %>" /></div> 
     <div><%# DataBinder.Eval(Container.DataItem, "COLOR_NAME") %></div> 
     </td> 
    </ItemTemplate> 
    <FooterTemplate> 
     </tr></table> 
    </FooterTemplate> 
    </asp:Repeater> 

Ve burada

protected string ColorThumbnailImage(string fileName) 
{ 
    return Request.ApplicationPath + MySports.System.Configuration.ColorSquareImageLocation + fileName; 
} 
İlgili konular