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

RadGrid DetailTable

1 Answer 56 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Nathan
Top achievements
Rank 1
Nathan asked on 22 Oct 2012, 10:36 PM
I am having trouble getting the RadGrid detail table to function correctly. When I run the code I don't get any detail. It just expands one blank row. Here is the code:

<%@ Page Title="" Language="C#" MasterPageFile="~/site.master" AutoEventWireup="true" CodeFile="BOLDetail.aspx.cs" Inherits="production_BOLDetail" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cpMainContent" Runat="Server">
    <asp:SqlDataSource ID="SqlBOLSummary" runat="server"
        ConnectionString="<%$ ConnectionStrings:CLS-SVR08_INSDataFiles %>"
        SelectCommand="
        SELECT blh.BOLNumber,
        (CAST(MAX(blh.RackID) as varchar(3))) + ' - ' + (CAST(MAX(blh.RackID) as varchar(3))) as RackRange,
        (CAST(MIN(blh.FromProcessSequence) as varchar(11))) + ' - ' + (CAST(MAX(blh.ToProcessSequence) as varchar(11))) as SeqRange,
        COUNT(blh.RackID)/22 AS Racks,
        COUNT(bld.ProcessSequence)/4 AS VINs
        FROM [INS Data Files].[dbo].[BOL Load Header] blh
        INNER JOIN [INS Data Files]..[BOL Load Detail] bld
        ON blh.LoadID=bld.LoadID
        WHERE blh.BOLNumber = @BOLNumber
        GROUP BY blh.BOLNumber">
        <SelectParameters>
            <asp:QueryStringParameter DefaultValue="0" Name="BOLNumber"
                QueryStringField="bol" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:SqlDataSource ID="SqlBOLRacks" runat="server"
        ConnectionString="<%$ ConnectionStrings:CLS-SVR08_INSDataFiles %>"
        SelectCommand="
        SELECT [BOLNumber], [LoadID], [RackID], [RackGroup], [FromProcessSequence], [ToProcessSequence]
        FROM [BOL Load Header]
        WHERE ([BOLNumber] = @BOLNumber)
        ORDER BY [RackID], [RackGroup]">
        <SelectParameters>
            <asp:QueryStringParameter DefaultValue="0" Name="BOLNumber"
                QueryStringField="bol" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:SqlDataSource ID="SqlBOLSlots" runat="server"
        ConnectionString="<%$ ConnectionStrings:CLS-SVR08_INSDataFiles %>"
        SelectCommand="
        SELECT [LoadID], [RackID], [SlotPosition], [LoadSequence], [VINSequence]
        FROM [Load Detail]
        WHERE ([LoadID] = @LoadID)
        ORDER BY [LoadSequence]">
        <SelectParameters>
                <asp:Parameter Name="LoadID" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:SqlDataSource ID="SqlBOLPartDetail" runat="server" ConnectionString="<%$ ConnectionStrings:CLS-SVR08_INSDataFiles %>"></asp:SqlDataSource>
 
    <p>
    <div id="divTitle">BOL Detail</div>
    </p>
 
    <p>
        <telerik:RadGrid ID="rgBOLSummary" runat="server" AutoGenerateColumns="False"
        CellSpacing="0" DataSourceID="SqlBOLSummary" GridLines="None">
<MasterTableView DataKeyNames="BOLNumber" DataSourceID="SqlBOLSummary">
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
 
<RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
 
<ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
 
    <Columns>
        <telerik:GridBoundColumn DataField="BOLNumber" DataType="System.Int32"
            FilterControlAltText="Filter BOLNumber column" HeaderText="BOL Number"
            ReadOnly="True" SortExpression="BOLNumber" UniqueName="BOLNumber">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="RackRange"
            FilterControlAltText="Filter RackRange column" HeaderText="Rack Range"
            ReadOnly="True" SortExpression="RackRange" UniqueName="RackRange">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="SeqRange"
            FilterControlAltText="Filter SeqRange column" HeaderText="Sequence Range"
            ReadOnly="True" SortExpression="SeqRange" UniqueName="SeqRange">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="Racks" DataType="System.Int32"
            FilterControlAltText="Filter Racks column" HeaderText="Racks" ReadOnly="True"
            SortExpression="Racks" UniqueName="Racks">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="VINs" DataType="System.Int32"
            FilterControlAltText="Filter VINs column" HeaderText="VINs" ReadOnly="True"
            SortExpression="VINs" UniqueName="VINs">
        </telerik:GridBoundColumn>
    </Columns>
 
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
</MasterTableView>
 
<FilterMenu EnableImageSprites="False"></FilterMenu>
</telerik:RadGrid>
</p>
    <telerik:RadGrid ID="rgBOLRacks" runat="server" AutoGenerateColumns="False"
        CellSpacing="0" DataSourceID="SqlBOLRacks" GridLines="None" Skin="Telerik">
<MasterTableView DataSourceID="SqlBOLRacks">
    <DetailTables>
        <telerik:GridTableView runat="server" DataKeyNames="LoadID" DataSourceID="SqlBOLSlots" Name="SlotDetail">
        <ParentTableRelation>
                <telerik:GridRelationFields DetailKeyField="LoadID" MasterKeyField="LoadID" />
        </ParentTableRelation>
        <Columns>
            <telerik:GridBoundColumn DataField="RackID" DataType="System.Int32"
                FilterControlAltText="Filter RackID column" HeaderText="RackID"
                SortExpression="RackID" UniqueName="RackID">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="SlotPosition"
                FilterControlAltText="Filter RackGroup column" HeaderText="Slot Position"
                SortExpression="SlotPosition" UniqueName="SlotPosition">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="LoadSequence"
                FilterControlAltText="Filter RackGroup column" HeaderText="Load Sequence"
                SortExpression="LoadSequence" UniqueName="LoadSequence">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="VINSequence"
                FilterControlAltText="Filter RackGroup column" HeaderText="VIN Sequence"
                SortExpression="VINSequence" UniqueName="VINSequence">
            </telerik:GridBoundColumn>
        </Columns>
        </telerik:GridTableView>
    </DetailTables>
    <Columns>
        <telerik:GridBoundColumn DataField="RackID" DataType="System.Int32"
            FilterControlAltText="Filter RackID column" HeaderText="RackID"
            SortExpression="RackID" UniqueName="RackID">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="RackGroup"
            FilterControlAltText="Filter RackGroup column" HeaderText="RackGroup"
            SortExpression="RackGroup" UniqueName="RackGroup">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="FromProcessSequence"
            FilterControlAltText="Filter FromProcessSequence column"
            HeaderText="FromProcessSequence" SortExpression="FromProcessSequence"
            UniqueName="FromProcessSequence">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="ToProcessSequence"
            FilterControlAltText="Filter ToProcessSequence column"
            HeaderText="ToProcessSequence" SortExpression="ToProcessSequence"
            UniqueName="ToProcessSequence">
        </telerik:GridBoundColumn>
    </Columns>
 
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
</MasterTableView>
 
<FilterMenu EnableImageSprites="False"></FilterMenu>
    </telerik:RadGrid>
</asp:Content>

1 Answer, 1 is accepted

Sort by
0
Andrey
Telerik team
answered on 25 Oct 2012, 10:59 AM
Hello,

Thank you for contacting us.

Most probably the problem comes from the parameter you are using. If the parameter value is not set at run-time it uses the default for the type that is set, in this case this will be 0. And most probably you do not have any records that have the LoadID equal to zero and that is why you get blank nested row.

You could try to change the parameter to SessionParameter as follows:

<asp:SqlDataSource ID="SqlBOLSlots" runat="server"
    ConnectionString="<%$ ConnectionStrings:CLS-SVR08_INSDataFiles %>"
    SelectCommand="
    SELECT [LoadID], [RackID], [SlotPosition], [LoadSequence], [VINSequence]
    FROM [Load Detail]
    WHERE ([LoadID] = @LoadID)
    ORDER BY [LoadSequence]">
    <SelectParameters>
            <asp:SessionParameter Name="LoadID" SessionField="LoadID" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

Give this approach a try and let me know if you need further assistance.

Greetings,
Andrey
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
Nathan
Top achievements
Rank 1
Answers by
Andrey
Telerik team
Share this question
or