As you will see, the repeater is a highly flexible but easy to use control. It doesn't have all the bells and whistles of the DataGrid, but in a situation where they aren't needed, it's extremely fast to employ the Repeater. To end it off I'll leave you with the full code of the page:
<%@ Page Language="VB" debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
sub page_load( source as Object, e as EventArgs )
if not isPostBack then
doBinding()
end if
end sub
Sub doBinding()
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Ole DB Services=-4; " & _
"Data Source=C:\Inetpub\new\test.mdb"
Dim dbConnection As OleDbConnection = New OleDbConnection(strConn)
Dim strSQL As String = "SELECT * FROM products"
Dim dataAdapter As OleDbDataAdapter = New OleDbDataAdapter( strSQL, strConn)
Dim dataSet As DataSet = New DataSet
dataAdapter.Fill(dataSet)
prodRepeater.DataSource = dataSet
prodRepeater.DataBind()
End Sub
Sub getItem( s as object, e as RepeaterCommandEventArgs )
'response.write( "id: " + e.CommandSource.CommandArgument )
Dim id as String = e.CommandSource.CommandArgument.ToString()
Response.redirect( "buy.aspx?intID=" + id )
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:Repeater id="prodRepeater" runat="server" onItemCommand="getItem">
<HeaderTemplate>
<table cellpadding="3" border="0" cellspacing="0">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="font-family:verdana;font-size: 11px;">
Desc: <%# Container.DataItem("description") %><br />
Mfg: <%# Container.DataItem("manufacturer") %><br />
Color: <%# Container.DataItem("color") %><br />
Cost: <%# FormatCurrency( Container.DataItem("price")) %>
</td>
<td style="font-family:verdana;font-size: 11px;">Picture: <br />
<img src="<%# Container.DataItem("imgPath") %>" /><br />
<asp:button runat="server" text="buy" CommandArgument='<%# Container.DataItem("id") %>' />
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr style="background-color:#666666;color:#ffffff;">
<td style="font-family:verdana;font-size: 11px;">
Item: <%# Container.DataItem("description") %><br />
Mfg: <%# Container.DataItem("manufacturer") %><br />
Color: <%# Container.DataItem("color") %><br />
Cost: <%# FormatCurrency( Container.DataItem("price")) %>
</td>
<td style="font-family:verdana;font-size: 11px;">Picture: <br />
<img src="<%# Container.DataItem("imgPath") %>" /><br />
<asp:button runat="server" text="buy" CommandArgument='<%# Container.DataItem("id") %>' />
</td>
</tr>
</AlternatingItemTemplate>
<SeparatorTemplate>
<tr><td style="height:2px;background-color:#333333" colspan="2"></td></tr>
</SeparatorTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |