Ciao a tutti..sto cercando di realizzare un menu con 2 datalist, uno annidato nell'altro che realizza la solita Categoria-sottocategoria....

solo che n riesco proprio a venirne a capo.....nn mi da errori ma nn mi visualizza le sottocategorie corrispondenti!!!
Mi date una mano please!!!! qualche suggeriemnto!!!
Grazie per le risposte

questo il codice:



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>