<asp:DataGrid ID="Grd1" DataKeyField="MenuId" OnItemDataBound="Grd1_DataBound" AutoGenerateColumns="false"
runat="server">
<Columns>
<asp:TemplateColumn HeaderText="MenuName">
<ItemTemplate>
<asp:Label ID="LblSrlNo" Text='<%#Container.DataItem("MenuId") %>' runat="server"></asp:Label>
<asp:Label ID="LblSubMenuName" Text='<%#Container.DataItem("MenuName") %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="SubMenuDetails">
<ItemTemplate>
<asp:DataGrid ID="Grd2" OnItemDataBound="Grd2_DataBound" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:TemplateColumn HeaderText="SubMenu">
<ItemTemplate>
<asp:Label ID="LblSrlNo2" Text='<%#Container.DataItem("SubMenuId") %>' runat="server"></asp:Label>
<asp:Label ID="LblSubMenuName" Text='<%#Container.DataItem("SubMenuName") %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="SubSubMenu">
<ItemTemplate>
<asp:DataGrid ID="Grd3" ShowHeader="false" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:TemplateColumn HeaderText="Menu Name">
<ItemTemplate>
<asp:Label ID="LblSrlNo3" Text='<%#Container.DataItem("SubSubMenuId") %>' runat="server"></asp:Label>
<asp:Label ID="LblSubSubMenuName" Text='<%#Container.DataItem("SubSubMenuName") %>'
runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
BindGrid()
End Sub
Protected Sub BindGrid()
Dim SqlCon1 As New SqlConnection("Data Source=PC-BTTPL-20;Initial Catalog=NTBluePrint;User ID=sa;Password=admin123")
Dim SqlCom1 As New SqlCommand("SELECT * FROM MenuMaster", SqlCon1)
If SqlCon1.State <> ConnectionState.Open Then
SqlCon1.Open()
End If
Grd1.DataSource = SqlCom1.ExecuteReader()
Grd1.DataBind()
SqlCon1.Close()
End Sub
Protected Sub Grd1_DataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles Grd1.ItemDataBound
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim SqlCon2 As New SqlConnection("Data Source=PC-BTTPL-20;Initial Catalog=NTBluePrint;User ID=sa;Password=admin123")
Dim SqlCom2 As SqlCommand
Dim MenuID As Integer = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "MenuID"))
Dim dgChildren As DataGrid = DirectCast(e.Item.FindControl("Grd2"), DataGrid)
SqlCom2 = New SqlCommand("SELECT * FROM SubMenuMaster WHERE MenuId = " & MenuID, SqlCon2)
If SqlCon2.State <> ConnectionState.Open Then
SqlCon2.Open()
End If
dgChildren.DataSource = SqlCom2.ExecuteReader()
dgChildren.DataBind()
SqlCon2.Close()
End If
End Sub
Protected Sub Grd2_DataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)
If e.Item.ItemIndex >= 0 Then
Dim SqlCon22 As New SqlConnection("Data Source=PC-BTTPL-20;Initial Catalog=NTBluePrint;User ID=sa;Password=admin123")
Dim SqlCom22 As SqlCommand
Dim SubMenuId As Integer = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "SubMenuId"))
Dim dgChildren As DataGrid = DirectCast(e.Item.FindControl("Grd3"), DataGrid)
SqlCom22 = New SqlCommand("SELECT * FROM SubSubMenuMaster WHERE SubMenuId = " & SubMenuId, SqlCon22)
If SqlCon22.State <> ConnectionState.Open Then
SqlCon22.Open()
End If
dgChildren.DataSource = SqlCom22.ExecuteReader()
dgChildren.DataBind()
SqlCon22.Close()
End If
End Sub