Originariamente inviato da valeria75
Sai dirmi dove posso trovare degli esempi a riguardo?
CodeBehind
codice:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Inserire qui il codice utente necessario per inizializzare la pagina
If Not Page.IsPostBack Then
Page.DataBind()
End If
End Sub
Public Function GetCategorie() As DataTable
Dim dt As New DataTable
dt.Columns.Add("IDCategoria", System.Type.GetType("System.Int32"))
dt.Columns.Add("Categoria")
dt.Columns("IDCategoria").Unique = True
Dim dr As DataRow
dr = dt.NewRow
dr("IDCategoria") = 1
dr("Categoria") = "Moda"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("IDCategoria") = 2
dr("Categoria") = "News"
dt.Rows.Add(dr)
Return dt
End Function
Public Function GetArticoli(ByVal _idCategoria As Integer) As DataView
Dim dv As New DataView(getArticoliAsDataTable)
dv.RowFilter = String.Format("IDCategoria = {0}", _idCategoria)
Return dv
End Function
Private Function getArticoliAsDataTable() As DataTable
Dim dt As New DataTable
dt.Columns.Add("IDArticolo", System.Type.GetType("System.Int32"))
dt.Columns.Add("IDCategoria", System.Type.GetType("System.Int32"))
dt.Columns.Add("Articolo")
dt.Columns("IDArticolo").AutoIncrement = True
dt.Columns("IDArticolo").Unique = True
Dim dr As DataRow
dr = dt.NewRow
dr("IDCategoria") = 1
dr("Articolo") = "Prova articolo di moda"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("IDCategoria") = 2
dr("Articolo") = "Prova articolo di news"
dt.Rows.Add(dr)
Return dt
End Function
Pagina aspx
codice:
<asp:Repeater id=repCategorie runat="server" DataSource="<%# GetCategorie %>">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Categoria") %></p>
<asp:Repeater id="repArticoli" runat="server" DataSource='<%# GetArticoli(DataBinder.Eval(Container.DataItem, "IDCategoria")) %>'>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Articolo") %>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
Ho vinto qualcheccousa?