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

[Solved] Master/Detail Grid no rows show in detail

1 Answer 127 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Marc
Top achievements
Rank 1
Marc asked on 21 Oct 2009, 06:38 PM
I have a aspx page with the following markup. The issue i'm having is that the master table shows the expected records but the detail view always shows zero rows. If I manually set the session variable (Session["LoggerSN"] = "0050C230ED8B";) in the page load event than I get the rows I would expect in the detail view of the grid.

How/When does the SessionParameter get loaded for LoggerSN?

 <SelectParameters>
                <asp:SessionParameter Name="LoggerSN" SessionField="LoggerSN" Type="String"/>
            </SelectParameters>

What am I doing wrong???

<body>
    <form id="form1" runat="server">
    <div>
    
        <telerik:RadScriptManager ID="RadScriptManager1" Runat="server">
        </telerik:RadScriptManager>
    
        <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false"    
            DataSourceID="LoggerDictionary" GridLines="None" AllowSorting="True" Skin="Vista"
                AllowPaging="True" AllowAutomaticUpdates="True" AllowAutomaticInserts="True"
                AllowAutomaticDeletes="True"
                ShowStatusBar="True" PageSize="15"><PagerStyle Mode="NextPrevAndNumeric"></PagerStyle>
<MasterTableView DataKeyNames="LoggerSN" DataSourceID="LoggerDictionary" AllowMultiColumnSorting="True" AllowAutomaticDeletes="true" AllowAutomaticUpdates="true"
                    AllowAutomaticInserts="true" CommandItemDisplay="Top">

    <DetailTables>
        <telerik:GridTableView  runat="server" DataKeyNames="LoggerSN" Width="100%"
            DataSourceID="RTDictionary" AllowAutomaticDeletes="True"  
            AllowAutomaticInserts="True" AllowAutomaticUpdates="True"
            AutoGenerateColumns="True" HierarchyLoadMode="ServerBind">
            <RowIndicatorColumn Display="false">
                <HeaderStyle Width="20px" />
            </RowIndicatorColumn>
            <ExpandCollapseColumn Display="false">
                <HeaderStyle Width="20px" />
            </ExpandCollapseColumn>
        </telerik:GridTableView>
    </DetailTables>
    
    <ParentTableRelation>
        <telerik:GridRelationFields DetailKeyField="LoggerSN" MasterKeyField="LoggerSN"/>
    </ParentTableRelation>
    
    
<RowIndicatorColumn Visible="false">
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>

<ExpandCollapseColumn Visible="True">
<HeaderStyle Width="19px"></HeaderStyle>
</ExpandCollapseColumn>
    <Columns>
        <telerik:GridBoundColumn DataField="LoggerSN" HeaderText="LoggerSN"
            ReadOnly="True" SortExpression="LoggerSN" UniqueName="LoggerSN">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="SiteID" HeaderText="SiteID"
            SortExpression="SiteID" UniqueName="SiteID">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="LoggerDescription"
            HeaderText="LoggerDescription" SortExpression="LoggerDescription"
            UniqueName="LoggerDescription">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="LoggerType" DataType="System.Int16"
            HeaderText="LoggerType" SortExpression="LoggerType" UniqueName="LoggerType">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="DomainName" HeaderText="DomainName"
            SortExpression="DomainName" UniqueName="DomainName">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="UTC_Offset" DataType="System.Int16"
            HeaderText="UTC_Offset" SortExpression="UTC_Offset" UniqueName="UTC_Offset">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="DST_Adjustment" HeaderText="DST_Adjustment"
            SortExpression="DST_Adjustment" UniqueName="DST_Adjustment">
        </telerik:GridBoundColumn>
    </Columns>
</MasterTableView>
        </telerik:RadGrid>
    
        <asp:SqlDataSource ID="RTDictionary" runat="server"
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ConflictDetection="CompareAllValues"
            SelectCommand="SELECT LoggerSN, ModBusID, ChannelOrder, ChannelName, MinSeconds, Disabled FROM RealTimeDeviceDictionary WHERE LoggerSN = @LoggerSN">
            <SelectParameters>
                <asp:SessionParameter Name="LoggerSN" SessionField="LoggerSN" Type="String"/>
            </SelectParameters>
        </asp:SqlDataSource>
        <asp:SqlDataSource ID="LoggerDictionary" runat="server"
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ConflictDetection="CompareAllValues"
            DeleteCommand="DELETE FROM [LoggerDictionary] WHERE [LoggerSN] = @LoggerSN"
            InsertCommand="INSERT INTO [LoggerDictionary] ([LoggerSN], [SiteID], [LoggerDescription], [LoggerType], [DomainName], [UTC_Offset], [DST_Adjustment]) VALUES (@LoggerSN, @SiteID, @LoggerDescription, @LoggerType, @DomainName, @UTC_Offset, @DST_Adjustment)"
            SelectCommand="SELECT [LoggerSN], [SiteID], [LoggerDescription], [LoggerType], [DomainName], [UTC_Offset], [DST_Adjustment] FROM [LoggerDictionary] WHERE ([LoggerType] = @LoggerType)"
            UpdateCommand="UPDATE [LoggerDictionary] SET [SiteID] = @SiteID, [LoggerDescription] = @LoggerDescription, [LoggerType] = @LoggerType, [DomainName] = @DomainName, [UTC_Offset] = @UTC_Offset, [DST_Adjustment] = @DST_Adjustment WHERE [LoggerSN] = @LoggerSN">
            <SelectParameters>
                <asp:Parameter DefaultValue="250" Name="LoggerType" Type="Int16" />
            </SelectParameters>
            <DeleteParameters>
                <asp:Parameter Name="LoggerSN" Type="String" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="SiteID" Type="String" />
                <asp:Parameter Name="LoggerDescription" Type="String" />
                <asp:Parameter Name="LoggerType" Type="Int16" />
                <asp:Parameter Name="DomainName" Type="String" />
                <asp:Parameter Name="UTC_Offset" Type="Int16" />
                <asp:Parameter Name="DST_Adjustment" Type="String" />
                <asp:Parameter Name="LoggerSN" Type="String" />
            </UpdateParameters>
            <InsertParameters>
                <asp:Parameter Name="LoggerSN" Type="String" />
                <asp:Parameter Name="SiteID" Type="String" />
                <asp:Parameter Name="LoggerDescription" Type="String" />
                <asp:Parameter Name="LoggerType" Type="Int16" />
                <asp:Parameter Name="DomainName" Type="String" />
                <asp:Parameter Name="UTC_Offset" Type="Int16" />
                <asp:Parameter Name="DST_Adjustment" Type="String" />
            </InsertParameters>
        </asp:SqlDataSource>
    
    </div>
    <telerik:RadAjaxManager runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    </form>
</body>

1 Answer, 1 is accepted

Sort by
0
Iana Tsolova
Telerik team
answered on 23 Oct 2009, 02:54 PM
Hi Marc,

Could you please try placing the ParentTableRelation in the detail table GridTableView declaration, as it is done in this online demo, and see if it makes any difference?

<DetailTables
        <telerik:GridTableView  runat="server" DataKeyNames="LoggerSN" Width="100%"
            DataSourceID="RTDictionary" AllowAutomaticDeletes="True"  
            AllowAutomaticInserts="True" AllowAutomaticUpdates="True" 
            AutoGenerateColumns="True" HierarchyLoadMode="ServerBind">
            <ParentTableRelation>
                <telerik:GridRelationFields DetailKeyField="LoggerSN" MasterKeyField="LoggerSN"/>
            </ParentTableRelation>
        </telerik:GridTableView>
    </DetailTables>


Let me know how it goes.

Kind regards,
Iana
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
Grid
Asked by
Marc
Top achievements
Rank 1
Answers by
Iana Tsolova
Telerik team
Share this question
or