DataSet ds;
DataView myDataView = new DataView();
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
ds = new DataSet();
PopolaCategoria();
PopolaSottoCategoria();
}
}
private void PopolaCategoria()
{
cmd = new OleDbCommand("Select * from CATEGORIE Order By CATEGORIA ASC",Cn);
Da = new OleDbDataAdapter(cmd);
Da.Fill(ds,"CATEGORIE");
dtlCategorie.DataSource = ds.Tables["CATEGORIE"].DefaultView;
dtlCategorie.DataBind();
}
private void PopolaSottoCategoria()
{
cmd2 = new OleDbCommand("Select * from SOTTOCATEGORIE",Cn);
Da2 = new OleDbDataAdapter(cmd2);
Da2.Fill(ds,"SOTTOCATEGORIE");
myDataView = ds.Tables["SOTTOCATEGORIE"].DefaultView;
}
private void dtlCategorie_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
DataList myDtl;
if (e.Item.ItemType == ListItemType.Item | e.Item.ItemType == ListItemType.AlternatingItem)
{
myDtl = (DataList)e.Item.FindControl("dtlSottoCategorie");
string parentID = ((DataRowView)e.Item.DataItem)[0].ToString();
myDataView.RowFilter = "IDCATEGORIA=" + parentID;
myDtl.DataSource=myDataView;
myDtl.DataBind();
}
}
HTML:
<asp: DataList id="dtlCategorie" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "CATEGORIA") %>
<asp: DataList id="dtlSottoCategorie" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "SOTTOCATEGORIA") %>
</ItemTemplate>
</asp: DataList>
</ItemTemplate>
</asp: DataList>