This is a migrated thread and some comments may be shown as answers.

Unable to cast object of type 'System.Web.UI.CompiledTemplateBuilder' to type 'Telerik.Web.UI.RadGrid'.

1 Answer 94 Views
TreeView
This is a migrated thread and some comments may be shown as answers.
Ron
Top achievements
Rank 1
Ron asked on 12 Dec 2011, 11:56 AM
I am trying to set the datasource inside the RadGrid which is embedded inside the itemtemplate of RadTreeNode

<telerik:RadTreeView ID="RadTreeView1" runat="server">
            <Nodes>
                <telerik:RadTreeNode runat="server" Text="Root RadTreeNode1">
                    <Nodes>
                        <telerik:RadTreeNode runat="server" Text="Child RadTreeNode 1">
                            <NodeTemplate>
                                    <telerik:RadGrid ID="AllocGrid" Width="98%" AllowSorting="False"
                                        AllowPaging="False" GridLines="None" AutoGenerateColumns="False" runat="server"
                                        Skin="Windows7" Height="147px" Style="margin-top: 102px">
                                        <MasterTableView Width="100%" Summary="RadGrid table" EditMode="InPlace">
                                            <Columns>
                                                <telerik:GridBoundColumn DataField="Type" HeaderText="Allocation Type"
                                                    ItemStyle-Width="100px" HeaderStyle-Width="100px" />
                                                <telerik:GridTemplateColumn DataField="Status" HeaderText="Status" ItemStyle-Width="300px"
                                                    HeaderStyle-Width="300px">
                                                    <ItemTemplate>
                                                        <%# GetStatus((String)Eval("Stats"))%>
                                                    </ItemTemplate>
                                                </telerik:GridTemplateColumn>
                                                <telerik:GridTemplateColumn DataField="Link" HeaderText="View">
                                                    <ItemTemplate>
                                                        <%# GetTheoreticalAllocationsLink() %>
                                                    </ItemTemplate>
                                                </telerik:GridTemplateColumn>
                                            </Columns>
                                        </MasterTableView>
                                    </telerik:RadGrid>
                            </NodeTemplate>
                        </telerik:RadTreeNode>
                    </Nodes>
                </telerik:RadTreeNode>
            </Nodes>
        </telerik:RadTreeView>

I am trying to set the data source in the code as below
((Telerik.Web.UI.RadGrid) RadTreeView1.Nodes[0].Nodes[0].NodeTemplate).DataSource = dataSource;

Seems it is invalid. and i get the following error. Unable to cast object of type 'System.Web.UI.CompiledTemplateBuilder' to type 'Telerik.Web.UI.RadGrid'.

I am not sure what am i doing wrong and also pretty new to asp.net with rad controls

1 Answer, 1 is accepted

Sort by
0
Accepted
Bozhidar
Telerik team
answered on 12 Dec 2011, 04:37 PM
Hi Ron,

To get the RadGrid inside the node template, you have to use the FindControl method and the ID of the control you are trying to find. In your case the statement should look like this:

((Telerik.Web.UI.RadGrid) RadTreeView1.Nodes[0].Nodes[0].FindControl("AllocGrid")).DataSource = dataSource;
Best wishes,
Bozhidar
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
Tags
TreeView
Asked by
Ron
Top achievements
Rank 1
Answers by
Bozhidar
Telerik team
Share this question
or