Til den slags ting er det mere oplagt at bruge en DataList... Den er i højere grad forberedt for den slags.
Du kan lige prøve at se nedenstående (det er et udsnit af ASP.NET Commerce (CSVS) - et af de starter-kits man kan hente på
www.asp.net):
RepeatColumns="2" er den der sikrer at du får to kolonner i din præsentation... den skal du så sætte til 3.
Der er 3 properties der er gode at kigge på til det du skal lave :
RepeatDirection, RepeatLayout, og så den allerede nævnte RepeatColumns.
Håber du kan bruge det til noget :o)
mvh
<asp:DataList id="MyList" RepeatColumns="2" runat="server">
<ItemTemplate>
<table border="0" width="300">
<tr>
<td width="25">
 
</td>
<td width="100" valign="middle" align="right">
<a href='ProductDetails.aspx?productID=<%# DataBinder.Eval(Container.DataItem, "ProductID") %>'>
<img src='ProductImages/thumbs/<%# DataBinder.Eval(Container.DataItem, "ProductImage") %>' width="100" height="75" border="0">
</a>
</td>
<td width="200" valign="middle">
<a href='ProductDetails.aspx?productID=<%# DataBinder.Eval(Container.DataItem, "ProductID") %>'>
<span class="ProductListHead">
<%# DataBinder.Eval(Container.DataItem, "ModelName") %>
</span>
<br>
</a>
<span class="ProductListItem">
<b>Special Price: </b>
<%# DataBinder.Eval(Container.DataItem, "UnitCost", "{0:c}") %>
</span>
<br>
<a href='AddToCart.aspx?productID=<%# DataBinder.Eval(Container.DataItem, "ProductID") %>'>
<span class="ProductListItem">
<font color="#9D0000"><b>Add To Cart<b></font></span>
</a>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>