<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="NestedRadGrids.aspx.vb" Inherits="KimWebSandbox.NestedRadGrids" %> <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <telerik:RadScriptManager ID="rsmJS" runat="server" EnablePageMethods="true"></telerik:RadScriptManager> <telerik:radgrid id="OuterGrid" runat="server" AutoGenerateColumns="false"> <MasterTableView Name="Level1"> <Columns> <telerik:GridBoundColumn /> <telerik:GridBoundColumn DataField="Sales" HeaderText="Sales" UniqueName="Sales" /> </Columns> <DetailTables> <telerik:GridTableView Name="Level2" AutoGenerateColumns="false"> <Columns> <telerik:GridBoundColumn /> <telerik:GridBoundColumn DataField="Sales" HeaderText="Sales" UniqueName="Sales" /> </Columns> <DetailTables> <telerik:GridTableView Name="Level3" AutoGenerateColumns="false"> <Columns> <telerik:GridBoundColumn /> <telerik:GridBoundColumn DataField="Sales" HeaderText="Sales" UniqueName="Sales" /> </Columns> </telerik:GridTableView> </DetailTables> </telerik:GridTableView> </DetailTables> </MasterTableView> </telerik:radgrid> </div> </form></body></html>Imports Telerik.Web.UIPublic Class NestedRadGrids Inherits System.Web.UI.Page Private Sub OuterGrid_NeedDataSource(sender As Object, e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles OuterGrid.NeedDataSource If Not e.IsFromDetailTable Then OuterGrid.Columns(0).HeaderText = "Dept" DirectCast(OuterGrid.Columns(0), GridBoundColumn).DataField = "Dept" OuterGrid.DataSource = GetDataforGrid() End If End Sub Private Sub OuterGrid_DetailTableDataBind(sender As Object, e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) Handles OuterGrid.DetailTableDataBind Select Case e.DetailTableView.Name Case "Level2" e.DetailTableView.Columns(0).HeaderText = "Level 2 Header" DirectCast(e.DetailTableView.Columns(0), GridBoundColumn).DataField = "Dept" e.DetailTableView.DataSource = GetDataforGrid() Case "Level3" e.DetailTableView.Columns(0).HeaderText = "Level 3 Header" DirectCast(e.DetailTableView.Columns(0), GridBoundColumn).DataField = "Dept" e.DetailTableView.DataSource = GetDataforGrid() End Select End Sub Private Function GetDataforGrid() As DataSet Dim ds As New DataSet Dim dt As New DataTable dt.Columns.Add("Dept", GetType(String)) dt.Columns.Add("Sales", GetType(String)) dt.Rows.Add("10", "5749.00") dt.Rows.Add("11", "2123.00") ds.Tables.Add(dt) Return ds End FunctionEnd ClassI need to be able to set the header text dynamically in the first column of my Detail Views.
If you run the code above, you will see that the outer table is correctly set to "Dept".
Expand the first row and you will see that the detail table is correctly set to "Level 2 Header".
Expand the first row in Level 2 and you will see that the next detail table is correctly set to "Level 2 Header".
HOWEVER, the header text in Level 2 disappears.