Veamos, creo que se están liando más de la cuenta..
En el ItemTemplate del Repeater, podrían poner algo así:
Código:
<ItemTemplate>
<asp:Literal ID="TRItem" runat="server"><tr style="height: 100px;"></asp:Literal>
<td>
' Mostramos los DataItem
</td>
<asp:Literal ID="EndTRItem" runat="server"></tr></asp:Literal>
</ItemTemplate>
Luego, en el evento miRepeater_ItemDataBound, te encargas de hacer visibles los literales, en función de lo que necesites.
por ejemplo, para hacerlo a dos columnas, yo haría algo así:
Código:
Protected Sub miRepeater_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles miRepeater.ItemDataBound
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem
' TR y TD de la Tabla
Dim litTR As Literal = e.Item.FindControl("TRItem")
Dim litEndTR As Literal = e.Item.FindControl("EndTRItem")
If e.Item.ItemIndex Mod 2 = 0 Then 'SI ES ALGUNO DE LA COLUMNA IZQUIERDA
litTR.Visible = True
litEndTR.Visible = False
Else ' SI ES ALGUNO DE LA COLUMNA DERECHA
litTR.Visible = False
litEndTR.Visible = True
End If
End Select
End Sub
De forma que se iría montando una tabla a dos columnas.
Espero que os ayude.
Suerte!