lamy
Regular
a colleague asked me if you could insert a datagrid inside a datarepeater, i wasnt sure at that time so i tried searching but was unable to get any info on it, so i tried messin with the repeater events diggin inside watch values
heres what i came up with
on the page i have the repeater with a datagrid within itemtemplate
in my code behind (took off the sqlclass, just the usual anyway)
is there another way, just curious?
heres what i came up with
on the page i have the repeater with a datagrid within itemtemplate
Code:
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
TABLE 1<br />
<%#DataBinder.Eval(Container.DataItem, "ID")%>
<%#DataBinder.Eval(Container.DataItem, "NAME")%>
</td>
<td>
TABLE 2
<asp:DataGrid ID="datagrid1" runat="server">
</asp:DataGrid>
</td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
in my code behind (took off the sqlclass, just the usual anyway)
Visual Basic:
Protected Sub form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles form1.Load
Dim dt1 As New DataTable("TABLE1")
Dim query As String = ""
query = "SELECT TOP 10 * ID, [NAME] FROM TABLE1"
dt1 = sqlClass.execQuery(query, dt1.TableName) ' returns datatable
Repeater1.DataSource = dt1
Repeater1.DataBind()
End Sub
Protected Sub Repeater1_ItemCreated(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) _
Handles Repeater1.ItemCreated
Dim dt2 As New DataTable("TABLE2")
Dim query As String = ""
Try
' itemtemplate (can also be checked with ItemType)
Dim drv As DataRowView
drv = e.Item.DataItem
query = "SELECT Something FROM TABLE2 where ID = '" & drv.Row.Item("ID") & "'"
dt2 = sqlClass.execQuery(query, dt2.TableName)
Dim datagrid1 As DataGrid = DirectCast(e.Item.FindControl("datagrid1"), DataGrid)
datagrid1.DataSource = dt2
datagrid1.DataBind()
Catch
' headertemplate or footertemplate (do nothing)
End Try
End Sub
is there another way, just curious?