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

hierarchy radgrid cannot find the passed in field from outer grid(always null)

1 Answer 74 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Joe
Top achievements
Rank 1
Joe asked on 21 Nov 2011, 11:31 PM
I tried to use two level radgrid, the inner level actually get "AetherID" from the outer grid but it always has null value which means it is not passed in. I followed TELERIK's Example, so I  have no idea what goes wrong here, help please.


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RadGridExportWebForm.aspx.cs"
    Inherits="RadGridExportWebForm" %>

<!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>
    <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server" />
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        <Scripts>
            <%--Needed for JavaScript IntelliSense in VS2010--%>
            <%--For VS2008 replace RadScriptManager with ScriptManager--%>
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
        </Scripts>
    </telerik:RadScriptManager>
    <script type="text/javascript">
        //Put your JavaScript code here.
    </script>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <ClientEvents OnRequestStart="RadAjaxManager1_RequestStart" />
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <div>
        <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
            <script type="text/javascript">
                function gridExport() {
                    $find("<%= RadGrid1.ClientID %>").get_masterTableView().exportToExcel();
                    return false;
                }
                function RadAjaxManager1_RequestStart(sender, args) {
                    if (args.get_eventTarget() == "<%= RadGrid1.ClientID %>")
                        args.set_enableAjax(false);
                }
            </script>
        </telerik:RadScriptBlock>
        <asp:Button OnClientClick="return gridExport()" ID="Button1" runat="server" Text="Export To Excel" />
        <%-- <asp:Label ID="Label1" Font-Bold="true" Font-Italic="true" Text='<%# Eval("AetherGUID") %>'
            Visible="false" runat="server" />--%>
        <telerik:RadGrid ID="RadGrid1" OnPreRender="RadGrid1_PreRender" DataSourceID="ObjectExpDescDS"
            runat="server" AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="False"
            AllowPaging="True" PageSize="10" GridLines="None" ShowGroupPanel="true" OnItemCreated="RadGrid1_ItemCreated"
            OnItemCommand="RadGrid1_ItemCommand">
            <PagerStyle Mode="NumericPages"></PagerStyle>
            <MasterTableView DataSourceID="ObjectExpDescDS"  DataKeyNames="AetherGUID" AllowMultiColumnSorting="True"
                GroupLoadMode="Server" HierarchyLoadMode="ServerOnDemand">
                <Columns>
                    <telerik:GridBoundColumn SortExpression="ExperimentDateTime" HeaderText="Experiment DateTime"
                        HeaderButtonType="TextButton" DataType="System.DateTime" DataFormatString="{0:d}"
                        AllowSorting="true" AllowFiltering="true" Groupable="true" DataField="ExperimentDateTime"
                        UniqueName="ExperimentDateTime">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="ExperimentUser" HeaderText="Experiment DateTime"
                        HeaderButtonType="TextButton" AllowSorting="true" AllowFiltering="true" Groupable="true"
                        DataField="ExperimentDateTime" UniqueName="ExperimentDateTime">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="ValidationDateStartTime" HeaderText="Validation StartTime"
                        HeaderButtonType="TextButton" AllowSorting="true" AllowFiltering="true" Groupable="true"
                        DataField="ValidationDateStartTime" UniqueName="ValidationDateStartTime">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="ValidationDateEndTime" HeaderText="Validation End Time"
                        HeaderButtonType="TextButton" AllowSorting="true" AllowFiltering="true" Groupable="true"
                        DataField="ValidationDateEndTime" UniqueName="ValidationDateEndTime">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="TrainingDateStartTime" HeaderText="Training StartTime"
                        HeaderButtonType="TextButton" AllowSorting="true" AllowFiltering="true" Groupable="true"
                        DataField="TrainingDateStartTime" UniqueName="TrainingDateStartTime">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="TrainingDateEndTime" HeaderText="Training End Time"
                        HeaderButtonType="TextButton" AllowSorting="true" AllowFiltering="true" Groupable="true"
                        DataField="TrainingDateEndTime" UniqueName="TrainingDateEndTime">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="AetherDescription" HeaderText="Description"
                        HeaderButtonType="TextButton" AllowFiltering="true" AllowSorting="true" Groupable="true"
                        DataField="AetherDescription" UniqueName="AetherDescription">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="AetherGUID" HeaderText="AetherGUID" HeaderButtonType="TextButton"
                        AllowFiltering="true" AllowSorting="true" Groupable="true" DataField="AetherGUID"
                        UniqueName="AetherGUID">
                    </telerik:GridBoundColumn>
                </Columns>
                <NestedViewSettings DataSourceID="ObjectExpMetricsDS">
                    <ParentTableRelation>
                        <telerik:GridRelationFields DetailKeyField="AetherGUID" MasterKeyField="AetherGUID" />
                    </ParentTableRelation>
                </NestedViewSettings>
                <NestedViewTemplate>
                    <asp:Panel runat="server" ID="InnerContainer" CssClass="viewWrap" Visible="false">
                        <telerik:RadTabStrip runat="server" ID="TabStip1" MultiPageID="Multipage1" SelectedIndex="0">
                            <Tabs>
                                <telerik:RadTab runat="server" Text="Metrics" PageViewID="PageView1">
                                </telerik:RadTab>
                                <telerik:RadTab runat="server" Text="To be added" PageViewID="PageView2">
                                </telerik:RadTab>
                                <telerik:RadTab runat="server" Text="Chart" PageViewID="PageView3">
                                </telerik:RadTab>
                            </Tabs>
                        </telerik:RadTabStrip>
                        <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" RenderSelectedPageOnly="false">
                            <telerik:RadPageView runat="server" ID="PageView1">
                                <telerik:RadGrid runat="server" ID="ExpMetricsGrid" DataSourceID="ObjectExpMetricsDS"
                                    ShowFooter="true" AllowSorting="true" AutoGenerateColumns="false">
                                    <MasterTableView>
                                        <Columns>
                                            <telerik:GridBoundColumn SortExpression="Position" HeaderText="Position" HeaderButtonType="TextButton"
                                                DataField="Position" UniqueName="Position">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn SortExpression="RigProd" HeaderText="Production RIG" HeaderButtonType="TextButton"
                                                DataField="RigProd" UniqueName="Production RIG">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn SortExpression="RigExpt" HeaderText="Experiment RIG" HeaderButtonType="TextButton"
                                                DataField="RigExpt" UniqueName="Experiment RIG">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn SortExpression="RIGAdPredict" UniqueName="AdPredictor RIG"
                                                DataField="RIGAdPredict" HeaderText="AdPredictor RIG">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn SortExpression="AvgPClickProd" HeaderText="Production Average PClick"
                                                HeaderButtonType="TextButton" DataField="AvgPClickProd" UniqueName="Production Average PClick">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn SortExpression="AvgPClickExpt" HeaderText="Experiment Average PClick"
                                                HeaderButtonType="TextButton" DataField="AvgPClickExpt" UniqueName="Experiment Average PClick">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn SortExpression="Impression" HeaderText="Impressions" HeaderButtonType="TextButton"
                                                DataField="Impression" UniqueName="Impression">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn SortExpression="Clicks" HeaderText="Clicks" HeaderButtonType="TextButton"
                                                DataField="Clicks" UniqueName="Clicks">
                                            </telerik:GridBoundColumn>
                                        </Columns>
                                    </MasterTableView>
                                </telerik:RadGrid>
                                <asp:ObjectDataSource ID="ObjectExpMetricsDS" SelectMethod="GetDataByGUID" TypeName="RadControlsWebApp1.DAL.AbacusStoreTableAdapters.RigAucPairwiseJoinedViewTableAdapter"
                                    runat="server">
                                    <SelectParameters>
                                        <asp:Parameter Name="AetherGUID" DefaultValue="fe439be5-4a63-45f4-990a-e7939e31f287" Type="string" />
                                    </SelectParameters>
                                </asp:ObjectDataSource>
                            </telerik:RadPageView>
                            <telerik:RadPageView runat="server" ID="PageView2" Width="460px">
                            </telerik:RadPageView>
                            <telerik:RadPageView runat="server" ID="PageView3" Width="400px">
                            </telerik:RadPageView>
                        </telerik:RadMultiPage>
                    </asp:Panel>
                </NestedViewTemplate>
            </MasterTableView>
            <ClientSettings AllowDragToGroup="true" />
        </telerik:RadGrid>
        <asp:ObjectDataSource SelectMethod="GetData" TypeName="RadControlsWebApp1.DAL.AbacusStoreTableAdapters.ExperimentDescTableAdapter"
            ID="ObjectExpDescDS" runat="server"></asp:ObjectDataSource>
    </div>
    </form>
</body>
</html>

1 Answer, 1 is accepted

Sort by
0
Pavlina
Telerik team
answered on 24 Nov 2011, 01:43 PM
Hi Joe,

I put the provided code in a sample project and it is working properly on my side. You should only set Visible property of asp:Panel to true:
<NestedViewTemplate>
                  <asp:Panel runat="server" ID="InnerContainer" CssClass="viewWrap" Visible="true">
                            ...................

Please examine the attached project and let me know if it helps to resolve the described problem.

Best wishes,
Pavlina
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
Grid
Asked by
Joe
Top achievements
Rank 1
Answers by
Pavlina
Telerik team
Share this question
or