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

Dynamically loading User Control containing RadTabStrip inside the NestedViewTemplate of RadGrid on expanding row details

3 Answers 240 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Pablo
Top achievements
Rank 1
Pablo asked on 06 Aug 2020, 04:51 PM

Hi Telerik,

I'm having an issue while dynamically loading a user control that contains a RadTabStrip and a RadMultiPage inside the NestedViewTemplate of a RadGrid on expanding Row Details.

I'm doing this for performance reasons; Originally we had an approach based on this example https://demos.telerik.com/aspnet-ajax/grid/examples/hierarchy/hierarchy-with-templates/defaultcs.aspx, however it was not working as expected (everything was being loaded when page loaded) making the performance really bad.

 

 

So we decided to go with the following scenario:

 

We have a User Control named RowChild.ascx that contains a RadTabStrip and a RadMultiPage.

RowChild.ascx:

<div style="height: 300px;">
    <telerik:RadAjaxManagerProxy ID="AjaxManagerProxy17" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="Radgrid2">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="Radgrid2" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadDataPager1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadListView1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManagerProxy>
    <telerik:RadTabStrip runat="server" Skin="HP" ID="TabStip1" MultiPageID="Multipage1"
        AutoPostBack="True">
        <Tabs>
            <telerik:RadTab runat="server" Selected="True" Text="<%$ Resources:Mwedi, transactiondetail %>" Font-Size="X-Small" ForeColor="WhiteSmoke"
                Font-Bold="true" Font-Names="Arial" PageViewID="RadPageView1">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="<%$ Resources:Mwedi, otherdetails %>" Font-Size="X-Small" ForeColor="WhiteSmoke"
                Font-Bold="true" Font-Names="Arial" PageViewID="RadPageView2">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="<%$ Resources:Mwedi, purchaseorderdetails %>" Font-Size="X-Small" ForeColor="WhiteSmoke"
                Font-Bold="true" Font-Names="Arial" PageViewID="RadPageView4" Visible="False">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="<%$ Resources:Mwedi, asndetails %>" Font-Size="X-Small" ForeColor="WhiteSmoke"
                Font-Bold="true" Font-Names="Arial" PageViewID="RadPageView5" Visible="False">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="<%$ Resources:Mwedi, inventoryadvicedetails %>" Font-Size="X-Small" ForeColor="WhiteSmoke"
                Font-Bold="true" Font-Names="Arial" PageViewID="RadPageView6" Visible="False">
            </telerik:RadTab>
        </Tabs>
    </telerik:RadTabStrip>
    <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" RenderSelectedPageOnly="true">
        <telerik:RadPageView runat="server" ID="RadPageView1">
            <asp:LinqDataSource ID="LinqDataSource2" runat="server" ContextTypeName="MWEdiLib.Model.TransactionDataContext"
                EntityTypeName="" TableName="LogDetailsTransactions" Where="FK_LogTransaction=@Id">
                <WhereParameters>
                    <asp:ControlParameter Type="Int32" DefaultValue="0" Name="Id" ControlID="Id" PropertyName="Text" />
                </WhereParameters>
            </asp:LinqDataSource>
            <div id="InvoiceGridWrapper" style="background-color: ThreeDShadow; height: 49px; width: 1332px">
                <telerik:RadGrid ID="RadGrid2" runat="server" CellSpacing="0" GridLines="None" AllowSorting="True"
                    MasterTableView-ItemStyle-ForeColor="Black" OnItemCommand="RadGrid2_ItemCommand"
                    Skin="Metro" DataSourceID="LinqDataSource2" Width="1332px">
                    <GroupingSettings ShowUnGroupButton="True" />
                    <MasterTableView AutoGenerateColumns="False" DataKeyNames="FK_LogTransaction" Width="1332px">
                        <Columns>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, filename %>" DataField="FName" HeaderStyle-Font-Size="X-Small"
                                ItemStyle-Width="170px" HeaderStyle-Width="170px" HeaderStyle-Font-Bold="true"
                                ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" DataField="QueuePath" HeaderStyle-Font-Size="X-Small"
                                ItemStyle-Width="170px" HeaderStyle-Width="170px" HeaderStyle-Font-Bold="true"
                                Display="false" ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Center"
                                HeaderStyle-HorizontalAlign="Center">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, editype %>" DataField="Type" HeaderStyle-Font-Size="X-Small"
                                ItemStyle-Width="170px" HeaderStyle-Width="170px" HeaderStyle-Font-Bold="true"
                                ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, path %>" Display="false" DataField="Filename"
                                HeaderStyle-Font-Size="X-Small" ItemStyle-Width="110px" HeaderStyle-Width="110px"
                                HeaderStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, notes %>" DataField="Notes" HeaderStyle-Font-Size="X-Small"
                                ItemStyle-Width="140px" HeaderStyle-Width="110px" HeaderStyle-Font-Bold="true"
                                ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn>
                                <ItemTemplate>
                                    <asp:ImageButton runat="server" ImageUrl="~/Images/download.png" CommandName="DownloadView"
                                        HeaderTooltip="Download Document" ID="DownloadButton" Text="<%$ Resources:Mwedi, download %>" BorderColor="Transparent" />
                                </ItemTemplate>
                                <HeaderTemplate>
                                    <asp:Label ID="Label1" runat="server" Text="Download" ForeColor="White"></asp:Label>
                                </HeaderTemplate>
                                <ItemStyle HorizontalAlign="Center" Width="45px" Font-Bold="true" />
                                <HeaderStyle HorizontalAlign="Center" ForeColor="black" Font-Bold="true" Width="45px" />
                            </telerik:GridTemplateColumn>
                        </Columns>
                    </MasterTableView>
                </telerik:RadGrid>
            </div>
        </telerik:RadPageView>
        <telerik:RadPageView ID="RadPageView2" runat="server">
            <asp:LinqDataSource ID="LinqDataSource3" runat="server" ContextTypeName="MWEdiLib.Model.TransactionDataContext"
                EntityTypeName="" TableName="LogTransactions" Where="Id=@Id">
                <WhereParameters>
                    <asp:ControlParameter Type="Int32" DefaultValue="0" Name="Id" ControlID="Id" PropertyName="Text" />
                </WhereParameters>
            </asp:LinqDataSource>
            <telerik:RadListView ID="DataList1" runat="server" Width="1331px" Font-Size="Small"
                DataKeyField="Id" DataSourceID="LinqDataSource3">
                <EmptyDataTemplate>
                    No result
                </EmptyDataTemplate>
                <ItemTemplate>
                    <div id="InvoiceDetailWrapper" style="background-color: ButtonFace; height: 248px; width: 1331px">
                        <table style="background-color: ButtonFace; padding: 5px 5px 5px 5px; border: 3px solid Gray; color: black; width: 1331px; height: 248px; vertical-align: top; font-size: small">
                            <tr>
                                <td>
                                    <div style="width: 120px; padding: 5px 10px 5px 10px; margin-left: 1px; text-align: right; float: left; vertical-align: top;">
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, transactionid %>" /> :<br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, process %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, transactiontype %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, documentno %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, direction %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, standard %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, version %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, filesize %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, reconcilled %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, notes %>" /> :
                                                                    <br />
                                    </div>
                                    <div style="width: 150px; padding: 5px 1px 5px 1px; margin-left: 1px; text-align: left; float: left; vertical-align: top">
                                        <asp:Label ID="Label7sdfsdf234234" runat="server" Text='<%# Eval("MwRefId") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label4werw343535" runat="server" Text='<%# Eval("ProcessedTimes") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label5vbnvn4tr445" runat="server" Text='<%# Eval("DocumentType") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label8" runat="server" Text='<%# Eval("DocumentNo") %>'></asp:Label>
                                        <br />
                                        <asp:Label runat="server" ID="Label100" Text='<%# Eval("Direction") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label18" runat="server" Text='<%# Eval("FileType") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label10" runat="server" Text='<%# Eval("Standard") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label55" runat="server" Text='<%# Eval("FileSize") %>'></asp:Label>
                                        <br />
                                        <asp:Image ID="Image6" Width="10px" Style="padding-top: 3px; padding-bottom: 3px"
                                            runat="server" ImageUrl='<%# ((bool)Eval("IsReconciled")?"~/Images/yes.png":"~/Images/no.png") %>'
                                            ToolTip='<%# ((bool)Eval("IsReconciled")? "Reconciled":"Not Reconciled") %>' />
                                        <br />
                                        <asp:Label ID="Label32342342" runat="server" CssClass="wrapped60" Text='<%# Eval("Notes") %>'></asp:Label>
                                        <br />
                                    </div>
                                </td>
                                <td>
                                    <div style="width: 120px; padding: 5px 1px 5px 1px; margin-left: 1px; text-align: right; float: left; vertical-align: top">
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, receiverid %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, transactioncode %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, po %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, bol %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, invoiceno %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, vendorno %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, isano %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, gsno %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, stno %>" /> :
                                                                    <br />
                                          
                                                                    <br />
                                    </div>
                                    <div style="width: 150px; padding: 5px 1px 5px 1px; margin-left: 1px; text-align: left; float: left">
                                        <asp:Label ID="Label14" runat="server" Text='<%# Eval("ReceiverId") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label61" runat="server" Text='<%# Eval("TransactionType") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label16" runat="server" Text='<%# Eval("PoNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label17" runat="server" Text='<%# Eval("BOLNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label15" runat="server" Text='<%# Eval("InvoiceNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label19" runat="server" Text='<%# Eval("VendorNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label20" runat="server" Text='<%# Eval("ControlNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label35" runat="server" Text='<%# Eval("GSControlNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label runat="server" ID="Label27" Text='<%# Eval("STControlNumber") %>'></asp:Label>
                                        <br />
                                          
                                                                    <br />
                                    </div>
                                </td>
                                <td>
                                    <div style="width: 116px; padding: 5px 1px 5px 1px; margin-left: 1px; text-align: right; float: left;">
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, mwreceivedate %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, mwreceivedate %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, docdate %>" /> :
                                                                    <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, senddate %>" /> :
                                                                    <br />
                                          
                                                                    <br />
                                          
                                                                    <br />
                                          
                                                                    <br />
                                          
                                                                    <br />
                                          
                                                                    <br />
                                          
                                                                    <br />
                                    </div>
                                    <div style="width: 200px; padding: 5px 1px 5px 1px; margin-left: 1px; text-align: left; float: left">
                                        <asp:Label ID="Label21" runat="server" Text='<%# Eval("ReceivedDate") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label22" runat="server" Text='<%# Eval("DeliveryDate") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label23" runat="server" Text='<%# Eval("DocumentDate") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label36" runat="server" Text='<%# Eval("SentDate") %>'></asp:Label>
                                        <br />
                                        <%--    <asp:Label ID="Label24" runat="server" Text='<%# Eval("InvoiceDate") %>'></asp:Label>--%>
                                        <br />
                                        <%--  <asp:Label ID="Label26" runat="server" Text='<%# Eval("BaselineDate") %>'></asp:Label>--%>
                                        <br />
                                          
                                                                    <br />
                                          
                                                                    <br />
                                          
                                                                    <br />
                                          
                                                                    <br />
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </div>
                </ItemTemplate>
            </telerik:RadListView>
        </telerik:RadPageView>
        <telerik:RadPageView ID="RadPageView4" runat="server">
            <asp:LinqDataSource ID="LinqDataSource7" runat="server" ContextTypeName="MWEdiLib.Model.TransactionDataContext"
                EntityTypeName="" TableName="Orders" Where="FK_LogTransactionId=@Id">
                <WhereParameters>
                    <asp:ControlParameter Type="Int32" DefaultValue="0" Name="Id" ControlID="Id" PropertyName="Text" />
                </WhereParameters>
            </asp:LinqDataSource>
            <telerik:RadListView ID="DataList850" runat="server" Width="1331px" Font-Size="Small"
                DataKeyField="Id" DataSourceID="LinqDataSource7">
                <EmptyDataTemplate>
                    No result
                </EmptyDataTemplate>
                <ItemTemplate>
                    <div id="OrderDetailWrapper" style="background-color: ButtonFace; height: 248px; width: 1331px">
                        <asp:Label runat="server" ID="OrderId" Text='<%# Eval("OrderId") %>' Visible="false"></asp:Label>
                        <table style="background-color: ButtonFace; padding: 5px 5px 5px 5px; border: 3px solid Gray; color: black; width: 1331px; height: 248px; vertical-align: top; font-size: small">
                            <tr>
                                <td>
                                    <div style="padding: 5px 10px 5px 10px; margin-left: 1px; text-align: right; float: left; vertical-align: top;">
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, pono %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, receiveddate %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, customerordernumber %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, internalvendornumber %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, carrier %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, icn %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, sacdescription %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, requestedshipdate %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, promiseddeliverydate %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, shipper %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, buyername %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, buyerphone %>" /> :
                                    </div>
                                    <div style="padding: 5px 1px 5px 1px; margin-left: 1px; text-align: left; float: left; vertical-align: top">
                                        <asp:Label ID="Label7" runat="server" Text='<%# Eval("PoNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label4" runat="server" Text='<%# Eval("PoDate") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label47" runat="server" Text='<%# Eval("CustomerOderNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label56" runat="server" Text='<%# Eval("InternalVendorNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label57" runat="server" Text='<%# Eval("Carrier") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label72" runat="server" Text='<%# Eval("ICN") %>'></asp:Label>
                                        <br />
                                        <telerik:RadTextBox ID="RadTextBox95646" runat="server" ReadOnly="true" Text='<%# Eval("SacDescription") %>' Width="150px"
                                            BackColor="ButtonFace" ForeColor="black" Height="16px" BorderStyle="None">
                                        </telerik:RadTextBox>
                                        <br />
                                        <asp:Label ID="Label59" runat="server" Text='<%# Eval("RequestShipDate") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label60" runat="server" Text='<%# Eval("PromisedDeliveryDate") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label62" runat="server" Text='<%# Eval("Routing") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label77" runat="server" Text='<%# Eval("BuyerName") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label78" runat="server" Text='<%# Eval("BuyerTelephone") %>'></asp:Label>
                                    </div>
                                </td>
                                <td>
                                    <div style="padding: 5px 10px 5px 10px; margin-left: 1px; text-align: right; float: left; vertical-align: top;">
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, shiptoname %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, shiptocode %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, shiptostreet %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, shiptocity %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, shiptostate %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, shiptozip %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, billtoname %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, billtocode %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, billtostreet %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, billtocity %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, billtostate %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, billtozip %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, buyeremail %>" /> :
                                    </div>
                                    <div style="padding: 5px 1px 5px 1px; margin-left: 1px; text-align: left; float: left; vertical-align: top">
                                        <asp:Label ID="Label63" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "ST", "name") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label64" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "ST", "code") %>'></asp:Label>
                                        <br />
                                        <telerik:RadTextBox ID="RadTextBox1323424" runat="server" ReadOnly="true"
                                            Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "ST", "street") %>' Width="150px"
                                            BackColor="ButtonFace" ForeColor="black" Height="16px" BorderStyle="None">
                                        </telerik:RadTextBox>
                                        <br />
                                        <asp:Label ID="Label66" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "ST", "city") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label67" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "ST", "state") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label68" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "ST", "zip") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label69" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "BT", "name") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label70" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "BT", "code") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label71" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "BT", "street") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label73" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "BT", "city") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label75" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "BT", "state") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label76" runat="server" Text='<%# GetAddressPart(Eval("FK_LogTransactionId").ToString(), "BT", "zip") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label79" runat="server" Text='<%# Eval("BuyerEmail") %>'></asp:Label>
                                    </div>
                                </td>
                                <td>
                                    <div style="padding: 5px 10px 5px 10px; margin-left: 1px; text-align: right; float: left; vertical-align: top;">
                                        <asp:LinqDataSource ID="LinqDataSource8" runat="server" ContextTypeName="MWEdiLib.Model.TransactionDataContext"
                                            EntityTypeName="" TableName="OrderItems" Where="FK_OrderId=@OrderId">
                                            <WhereParameters>
                                                <asp:ControlParameter Type="Int32" DefaultValue="0" Name="OrderId" ControlID="OrderId" PropertyName="Text" />
                                            </WhereParameters>
                                        </asp:LinqDataSource>
                                        <table style="width: 590px; margin-bottom: 2px; color: black; font-size: 12px;">
                                            <tr>
                                                <td class="tdleft">
                                                    <asp:Label ID="labelListOfPurchaseOrderItems" runat="server" Text="<%$ Resources: Mwedi, itemslist %>" />
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    <telerik:RadListView AllowPaging="true" DataKeyNames="OrderItemId" DataSourceID="LinqDataSource8"
                                                        ID="RadListView1" PageSize="6" runat="server">
                                                        <LayoutTemplate>
                                                            <div style="width: 590px; padding-left: 2px; padding-right: 2px;">
                                                                <telerik:RadTextBox ID="RadTextBox7" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, itemlinenumber %>"
                                                                    Columns="7" Width="90px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox8" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, quantityordered %>"
                                                                    Columns="7" Width="100px">
                                                                </telerik:RadTextBox>
                                                                <%--<telerik:RadTextBox ID="RadTextBox9" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, buyerskunumber %>"
                                                                                                Columns="7" Width="105px">
                                                                                            </telerik:RadTextBox>--%>
                                                                <telerik:RadTextBox ID="RadTextBox10" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, vendorupcnumber %>"
                                                                    Columns="7" Width="105px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox11" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, grossweightpackage %>"
                                                                    Columns="7" Width="80px">
                                                                </telerik:RadTextBox>
                                                                <%--<telerik:RadTextBox ID="RadTextBox12" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, routing %>"
                                                                                                Columns="7" Width="80px">
                                                                                            </telerik:RadTextBox>--%>
                                                            </div>
                                                            <div class="RadListView RadListViewFloated RadListView_Default" style="height: 140px;">
                                                                <div class="rlvFloated">
                                                                    <div id="itemPlaceholder" runat="server">
                                                                    </div>
                                                                </div>
                                                            </div>
                                                            <telerik:RadDataPager ID="RadDataPager1" runat="server" PageSize="6">
                                                                <Fields>
                                                                    <telerik:RadDataPagerSliderField />
                                                                </Fields>
                                                            </telerik:RadDataPager>
                                                        </LayoutTemplate>
                                                        <ItemTemplate>
                                                            <div style="width: 590px; padding-left: 2px; padding-right: 2px;">
                                                                <telerik:RadTextBox ID="RadTextBox2" runat="server" ReadOnly="true" Text='<%# Eval("ItemLineNumber")  %>'
                                                                    Columns="7" Width="90px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox6" runat="server" ReadOnly="true" Text='<%# String.Format("{0:N0}",Eval("Quantity")) + " " + Eval("Uom")  %>'
                                                                    Columns="7" Width="100px">
                                                                </telerik:RadTextBox>
                                                                <%--<telerik:RadTextBox ID="RadTextBox4" runat="server" ReadOnly="true" Text='<%# Eval("BuyerSkuNumber")  %>'
                                                                                                Columns="7" Width="105px">
                                                                                            </telerik:RadTextBox>--%>
                                                                <telerik:RadTextBox ID="RadTextBox1" runat="server" ReadOnly="true" Text='<%# Eval("VendorSkuNumber")  %>'
                                                                    Columns="7" Width="105px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox3" runat="server" ReadOnly="true" Text='<%# Eval("GrossWeightPackage") + " LB"  %>'
                                                                    Columns="7" Width="80px">
                                                                </telerik:RadTextBox>
                                                                <%--<telerik:RadTextBox ID="RadTextBox5" runat="server" ReadOnly="true" Text='<%# Eval("Routing")  %>'
                                                                                                Columns="7" Width="80px">
                                                                                            </telerik:RadTextBox>--%>
                                                            </div>
                                                        </ItemTemplate>
                                                        <EmptyDataTemplate>
                                                            <div class="RadListView RadListView_Default">
                                                                <div class="rlvEmpty">
                                                                    <asp:Label ID="label14" runat="server" Text="<%$ Resources: Mwedi, NoItemsDisplayed %>" />
                                                                </div>
                                                            </div>
                                                        </EmptyDataTemplate>
                                                    </telerik:RadListView>
                                                </td>
                                            </tr>
                                        </table>
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </div>
                </ItemTemplate>
            </telerik:RadListView>
        </telerik:RadPageView>
        <telerik:RadPageView ID="RadPageView5" runat="server">
            <asp:LinqDataSource ID="LinqDataSource9" runat="server" ContextTypeName="MWEdiLib.Model.TransactionDataContext"
                EntityTypeName="" TableName="ShipManifests" Where="FK_LogTransactionId=@Id">
                <WhereParameters>
                    <asp:ControlParameter Type="Int32" DefaultValue="0" Name="Id" ControlID="Id" PropertyName="Text" />
                </WhereParameters>
            </asp:LinqDataSource>
            <telerik:RadListView ID="DataList856" runat="server" Width="1331px" Font-Size="Small"
                DataKeyField="Id" DataSourceID="LinqDataSource9">
                <EmptyDataTemplate>
                    No result
                </EmptyDataTemplate>
                <ItemTemplate>
                    <div id="ASNDetailWrapper" style="background-color: ButtonFace; height: 248px; width: 1331px">
                        <asp:Label runat="server" ID="ShipManifestId" Text='<%# Eval("ShipManifestId") %>' Visible="false"></asp:Label>
                        <table style="background-color: ButtonFace; padding: 5px 5px 5px 5px; border: 3px solid Gray; color: black; width: 1331px; height: 248px; vertical-align: top; font-size: small">
                            <tr>
                                <td>
                                    <div style="padding: 5px 10px 5px 10px; margin-left: 1px; text-align: right; float: left; vertical-align: top;">
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, ShipmentNo %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, documentdate %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, scaccode %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, pono %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, internalvendornumber %>" /> :
                                                                        <br />
                                    </div>
                                    <div style="padding: 5px 1px 5px 1px; margin-left: 1px; text-align: left; float: left; vertical-align: top">
                                        <asp:Label ID="Label7134345" runat="server" Text='<%# Eval("ShipNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label414566868" runat="server" Text='<%# Eval("ShipDate") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label453434534453" runat="server" Text='<%# Eval("ScacCode") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label343453545" runat="server" Text='<%# Eval("PoNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label445656855" runat="server" Text='<%# Eval("InternalVendorNumber") %>'></asp:Label>
                                        <br />
                                    </div>
                                </td>
                                <td>
                                    <div style="padding: 5px 10px 5px 10px; margin-left: 1px; text-align: right; float: left; vertical-align: top;">
                                        <asp:LinqDataSource ID="LinqDataSource11" runat="server" ContextTypeName="MWEdiLib.Model.TransactionDataContext"
                                            EntityTypeName="" TableName="ShipManifestItems" Where="FK_ShipmentManifestId=@ShipManifestId">
                                            <WhereParameters>
                                                <asp:ControlParameter Type="Int32" DefaultValue="0" Name="ShipManifestId" ControlID="ShipManifestId" PropertyName="Text" />
                                            </WhereParameters>
                                        </asp:LinqDataSource>
                                        <table style="width: 900px; margin-bottom: 2px; color: black; font-size: 12px;">
                                            <tr>
                                                <td class="tdleft">
                                                    <asp:Label ID="labelListOfASNItems" runat="server" Text="<%$ Resources: Mwedi, itemslist %>" />
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    <telerik:RadListView AllowPaging="true" DataKeyNames="ShipManifestItemId" DataSourceID="LinqDataSource11"
                                                        ID="RadListView2" PageSize="6" runat="server">
                                                        <LayoutTemplate>
                                                            <div style="width: 900px; padding-left: 2px; padding-right: 2px;">
                                                                <telerik:RadTextBox ID="RadTextBox734535" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, NumberOfItem %>"
                                                                    Columns="7" Width="70px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox83456345" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, VendorItemNumber %>"
                                                                    Columns="7" Width="100px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox9564654" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, BuyerItemNumber %>"
                                                                    Columns="7" Width="100px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox1067868" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, UnitShippedCancelled %>"
                                                                    Columns="7" Width="105px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox116786768" runat="server" ReadOnly="true" Text="<%$ Resources:Mwedi, WeightPounds %>"
                                                                    Columns="7" Width="80px">
                                                                </telerik:RadTextBox>
                                                            </div>
                                                            <div class="RadListView RadListViewFloated RadListView_Default" style="height: 140px;">
                                                                <div class="rlvFloated">
                                                                    <div id="itemPlaceholder" runat="server">
                                                                    </div>
                                                                </div>
                                                            </div>
                                                            <telerik:RadDataPager ID="RadDataPager1234243" runat="server" PageSize="6">
                                                                <Fields>
                                                                    <telerik:RadDataPagerSliderField />
                                                                </Fields>
                                                            </telerik:RadDataPager>
                                                        </LayoutTemplate>
                                                        <ItemTemplate>
                                                            <div style="width: 900px; padding-left: 2px; padding-right: 2px;">
                                                                <telerik:RadTextBox ID="RadTextBox234435" runat="server" ReadOnly="true" Text='<%# Eval("PurchaseOrderLineNumber")  %>'
                                                                    Columns="7" Width="70px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox6575765" runat="server" ReadOnly="true" Text='<%# Eval("VendorItemNumber")  %>'
                                                                    Columns="7" Width="100px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox46786868" runat="server" ReadOnly="true" Text='<%# Eval("BuyerItemNumber")  %>'
                                                                    Columns="7" Width="100px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox18798797" runat="server" ReadOnly="true" Text='<%# String.Format("{0:N0}",Eval("Quantity"))  %>'
                                                                    Columns="7" Width="105px">
                                                                </telerik:RadTextBox>
                                                                <telerik:RadTextBox ID="RadTextBox3345368678" runat="server" ReadOnly="true" Text='<%# Eval("Weight") + " LB"  %>'
                                                                    Columns="7" Width="80px">
                                                                </telerik:RadTextBox>
                                                            </div>
                                                        </ItemTemplate>
                                                        <EmptyDataTemplate>
                                                            <div class="RadListView RadListView_Default">
                                                                <div class="rlvEmpty">
                                                                    <asp:Label ID="label123423544" runat="server" Text="<%$ Resources: Mwedi, NoItemsDisplayed %>" />
                                                                </div>
                                                            </div>
                                                        </EmptyDataTemplate>
                                                    </telerik:RadListView>
                                                </td>
                                            </tr>
                                        </table>
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </div>
                </ItemTemplate>
            </telerik:RadListView>
        </telerik:RadPageView>
        <telerik:RadPageView ID="RadPageView6" runat="server">
            <asp:LinqDataSource ID="LinqDataSource10" runat="server" ContextTypeName="MWEdiLib.Model.TransactionDataContext"
                EntityTypeName="" TableName="InventoryAdvices" Where="FK_LogTransactionId=@Id">
                <WhereParameters>
                    <asp:ControlParameter Type="Int32" DefaultValue="0" Name="Id" ControlID="Id" PropertyName="Text" />
                </WhereParameters>
            </asp:LinqDataSource>
            <telerik:RadListView ID="DataList846" runat="server" Width="1331px" Font-Size="Small"
                DataKeyField="Id" DataSourceID="LinqDataSource10">
                <EmptyDataTemplate>
                    No result
                </EmptyDataTemplate>
                <ItemTemplate>
                    <div id="InventoryAdviceDetailWrapper" style="background-color: ButtonFace; height: 248px; width: 1331px">
                        <asp:Label runat="server" ID="InventoryAdviceId" Text='<%# Eval("InventoryAdviceId") %>' Visible="false"></asp:Label>
                        <table style="background-color: ButtonFace; padding: 5px 5px 5px 5px; border: 3px solid Gray; color: black; width: 1331px; height: 248px; vertical-align: top; font-size: small">
                            <tr>
                                <td>
                                    <div style="padding: 5px 10px 5px 10px; margin-left: 1px; text-align: right; float: left; vertical-align: top;">
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, InventoryAdviceNo %>" /> :
                                                                        <br />
                                        <asp:Label runat="server" Text="<%$ Resources:Mwedi, documentdate %>" /> :
                                                                        <br />
                                    </div>
                                    <div style="padding: 5px 1px 5px 1px; margin-left: 1px; text-align: left; float: left; vertical-align: top">
                                        <asp:Label ID="Label713456745345" runat="server" Text='<%# Eval("ShipNumber") %>'></asp:Label>
                                        <br />
                                        <asp:Label ID="Label26" runat="server" Text='<%# Eval("ShipDate") %>'></asp:Label>
                                        <br />
                                    </div>
                                </td>
                                <td>
                                    <div style="padding: 5px 10px 5px 10px; margin-left: 1px; text-align: right; float: left; vertical-align: top;">
                                        <asp:LinqDataSource ID="LinqDataSource12" runat="server" ContextTypeName="MWEdiLib.Model.TransactionDataContext"
                                            EntityTypeName="" TableName="InventoryAdviceItems" Where="FK_InventoryAdviceId=@InventoryAdviceId">
                                            <WhereParameters>
                                                <asp:ControlParameter Type="Int32" DefaultValue="0" Name="InventoryAdviceId" ControlID="InventoryAdviceId" PropertyName="Text" />
                                            </WhereParameters>
                                        </asp:LinqDataSource>
                                        <table style="width: 1000px; margin-bottom: 2px; color: black; font-size: 12px;">
                                            <tr>
                                                <td class="tdleft">
                                                    <asp:Label ID="labelListOfInventoryAdviceItems" runat="server" Text="<%$ Resources: Mwedi, itemslist %>" />
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    <telerik:RadGrid ID="RadGridInventoryAdviceItems" runat="server" AllowPaging="True"
                                                        OnItemDataBound="ItemDataBoundLoadDetailsTwo" DataSourceID="LinqDataSource12" OnDetailTableDataBind="ItemPlantsDetails_DataBind"
                                                        CellSpacing="0" GridLines="None" AllowMultiRowSelection="True"
                                                        PageSize="6" Height="205px" Width="1000px" AutoGenerateColumns="False">
                                                        <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True">
                                                            <Selecting AllowRowSelect="True" UseClientSelectColumnOnly="True"></Selecting>
                                                            <Scrolling AllowScroll="True" UseStaticHeaders="True"></Scrolling>
                                                        </ClientSettings>
                                                        <MasterTableView AutoGenerateColumns="False" DataKeyNames="InventoryAdviceItemId" CommandItemDisplay="None"
                                                            AllowAutomaticInserts="false" PageSize="6" ExpandCollapseColumn-Display="false">
                                                            <DetailTables>
                                                                <telerik:GridTableView DataKeyNames="InventoryAdviceItemPlantId" Name="ItemPlantsDetails">
                                                                    <Columns>
                                                                        <telerik:GridBoundColumn DataField="WarehouseCode" FilterControlAltText="Filter WarehouseCode column"
                                                                            HeaderText="<%$ Resources:Mwedi, WarehouseID %>" SortExpression="WarehouseCode" UniqueName="InventoryAdvicePlantWarehouseCode" ReadOnly="true">
                                                                            <ItemStyle Width="120px" HorizontalAlign="Left"></ItemStyle>
                                                                            <HeaderStyle Width="120px" HorizontalAlign="Left"></HeaderStyle>
                                                                        </telerik:GridBoundColumn>
                                                                        <telerik:GridBoundColumn DataField="Quantity" FilterControlAltText="Filter Quantity column"
                                                                            HeaderText="<%$ Resources:Mwedi, QtyOnHand %>" SortExpression="Quantity" UniqueName="InventoryAdvicePlantQuantity" ReadOnly="true">
                                                                            <ItemStyle Width="100px" HorizontalAlign="Left"></ItemStyle>
                                                                            <HeaderStyle Width="100px" HorizontalAlign="Left"></HeaderStyle>
                                                                        </telerik:GridBoundColumn>
                                                                        <telerik:GridBoundColumn DataField="NextShipmentDate" FilterControlAltText="Filter NextShipmentDate column"
                                                                            HeaderText="<%$ Resources:Mwedi, NextShipmentDate %>" SortExpression="NextShipmentDate" UniqueName="InventoryAdvicePlantNextShipmentDate" ReadOnly="true">
                                                                            <ItemStyle Width="120px" HorizontalAlign="Left"></ItemStyle>
                                                                            <HeaderStyle Width="120px" HorizontalAlign="Left"></HeaderStyle>
                                                                        </telerik:GridBoundColumn>
                                                                        <telerik:GridBoundColumn DataField="NextShipmentQty" FilterControlAltText="Filter NextShipmentQty column"
                                                                            HeaderText="<%$ Resources:Mwedi, NextShipmentQty %>" SortExpression="NextShipmentQty" UniqueName="InventoryAdvicePlantNextShipmentQty" ReadOnly="true">
                                                                            <ItemStyle Width="100px" HorizontalAlign="Left"></ItemStyle>
                                                                            <HeaderStyle Width="100px" HorizontalAlign="Left"></HeaderStyle>
                                                                        </telerik:GridBoundColumn>
                                                                    </Columns>
                                                                </telerik:GridTableView>
                                                            </DetailTables>
                                                            <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" Visible="True">
                                                            </RowIndicatorColumn>
                                                            <Columns>
                                                                <telerik:GridExpandColumn ButtonType="ImageButton" ExpandImageUrl="../../Images/icons8-expand-arrow-16.png"
                                                                    CollapseImageUrl="../../Images/icons8-collapse-arrow-16.png" UniqueName="expc2">
                                                                    <ItemStyle Width="30px" HorizontalAlign="Left" BackColor="Transparent" BorderColor="Transparent"></ItemStyle>
                                                                    <HeaderStyle Width="30px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridExpandColumn>
                                                                <telerik:GridBoundColumn DataField="VendorItemNumber" FilterControlAltText="Filter VendorItemNumber column"
                                                                    HeaderText="<%$ Resources:Mwedi, VendorItemNumber %>" SortExpression="VendorItemNumber" UniqueName="InventoryAdviceVendorItemNumber" ReadOnly="true">
                                                                    <ItemStyle Width="100px" HorizontalAlign="Left"></ItemStyle>
                                                                    <HeaderStyle Width="100px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridBoundColumn>
                                                                <telerik:GridBoundColumn DataField="BuyerItemNumber" FilterControlAltText="Filter BuyerItemNumber column"
                                                                    HeaderText="<%$ Resources:Mwedi, BuyerItemNumber %>" SortExpression="BuyerItemNumber" UniqueName="InventoryAdviceBuyerItemNumber" ReadOnly="true">
                                                                    <ItemStyle Width="100px" HorizontalAlign="Left"></ItemStyle>
                                                                    <HeaderStyle Width="100px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridBoundColumn>
                                                                <telerik:GridBoundColumn DataField="ProductDescription" FilterControlAltText="Filter ProductDescription column"
                                                                    HeaderText="<%$ Resources:Mwedi, ProductDescription %>" SortExpression="ProductDescription" UniqueName="InventoryAdviceProductDescription" ReadOnly="true">
                                                                    <ItemStyle Width="120px" HorizontalAlign="Left"></ItemStyle>
                                                                    <HeaderStyle Width="120px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridBoundColumn>
                                                                <telerik:GridBoundColumn DataField="ExpirationDate" FilterControlAltText="Filter ExpirationDate column"
                                                                    HeaderText="<%$ Resources:Mwedi, ExpirationDate %>" SortExpression="ExpirationDate" UniqueName="InventoryAdviceExpirationDate" ReadOnly="true">
                                                                    <ItemStyle Width="140px" HorizontalAlign="Left"></ItemStyle>
                                                                    <HeaderStyle Width="140px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridBoundColumn>
                                                                <telerik:GridBoundColumn DataField="Qualifier" FilterControlAltText="Filter Qualifier column"
                                                                    HeaderText="<%$ Resources:Mwedi, Qualifier %>" SortExpression="Qualifier" UniqueName="InventoryAdviceQualifier" ReadOnly="true">
                                                                    <ItemStyle Width="80px" HorizontalAlign="Left"></ItemStyle>
                                                                    <HeaderStyle Width="80px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridBoundColumn>
                                                                <telerik:GridBoundColumn DataField="Quantity" FilterControlAltText="Filter Quantity column"
                                                                    HeaderText="<%$ Resources:Mwedi, Quantity %>" SortExpression="Quantity" UniqueName="InventoryAdviceQuantity" ReadOnly="true">
                                                                    <ItemStyle Width="80px" HorizontalAlign="Left"></ItemStyle>
                                                                    <HeaderStyle Width="80px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridBoundColumn>
                                                                <telerik:GridBoundColumn DataField="ShippedQty" FilterControlAltText="Filter ShippedQty column"
                                                                    HeaderText="<%$ Resources:Mwedi, ScheduledQuantity %>" SortExpression="ShippedQty" UniqueName="InventoryAdviceShippedQty" ReadOnly="true">
                                                                    <ItemStyle Width="120px" HorizontalAlign="Left"></ItemStyle>
                                                                    <HeaderStyle Width="120px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridBoundColumn>
                                                                <telerik:GridBoundColumn DataField="AvailableDate" FilterControlAltText="Filter AvailableDate column"
                                                                    HeaderText="<%$ Resources:Mwedi, AvailableDate %>" SortExpression="AvailableDate" UniqueName="InventoryAdviceAvailableDate" ReadOnly="true">
                                                                    <ItemStyle Width="140px" HorizontalAlign="Left"></ItemStyle>
                                                                    <HeaderStyle Width="140px" HorizontalAlign="Left"></HeaderStyle>
                                                                </telerik:GridBoundColumn>
                                                            </Columns>
                                                            <FooterStyle BackColor="#131b1e" />
                                                        </MasterTableView>
                                                        <PagerStyle Mode="Slider" AlwaysVisible="True"></PagerStyle>
                                                        <FooterStyle BackColor="#131b1e" />
                                                    </telerik:RadGrid>
                                                </td>
                                            </tr>
                                        </table>
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </div>
                </ItemTemplate>
            </telerik:RadListView>
        </telerik:RadPageView>
    </telerik:RadMultiPage>
</div>

 

RowChile.ascx.cs:

public partial class RowChild : System.Web.UI.UserControl
{
    private TransactionDataContext td = new TransactionDataContext();
    private static List<InventoryAdviceItem> itemsListTwo;
 
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    protected string GetAddressPart(string id, string type, string part)
    {
        var addressPart = "";
        var transactionid = Convert.ToInt32(id);
        var transaction = td.LogTransactions.FirstOrDefault(it => it.Id == transactionid);
        if (transaction != null)
        {
            var address = transaction.Addresses.FirstOrDefault(it => it.Party == type);
 
            if (address != null)
            {
                switch (part)
                {
                    case "name":
                        addressPart = address.Name;
                        break;
                    case "code":
                        addressPart = address.Code;
                        break;
                    case "street":
                        addressPart = address.Street;
                        break;
                    case "city":
                        addressPart = address.City;
                        break;
                    case "state":
                        addressPart = address.State;
                        break;
                    case "zip":
                        addressPart = address.Zip;
                        break;
                }
            }
        }
        return addressPart;
    }
 
    protected void RadGrid2_ItemCommand(object source, GridCommandEventArgs e)
    {
        if (e.CommandName == "DownloadView")
        {
            if (e.Item is GridDataItem)
            {
                GridDataItem dtb = e.Item as GridDataItem;
                var id = int.Parse(dtb.GetDataKeyValue("FK_LogTransaction").ToString());
                string filename = dtb["FName"].Text;
                var status =
                    td.LogDetailsTransactions.Where(it => it.LogTransaction.Id == id)
                        .Select(it => it.LogTransaction.Status)
                        .FirstOrDefault();
                string filepath = status != 'E' ? dtb["Filename"].Text : dtb["QueuePath"].Text;
                var bytes = File.ReadAllBytes(filepath);
 
                var ms = new MemoryStream(bytes);
                ms.Position = 0;
                byte[] outData = ms.ToArray();
                Session["filename"] = filename;
                Session["filestream"] = outData;
                Response.Redirect("~/Render/OutRender.aspx");
 
            }
        }
    }
 
    protected void ItemDataBoundLoadDetailsTwo(object sender, GridItemEventArgs e)
    {
        if (!(e.Item is GridEditFormInsertItem) && e.Item.IsInEditMode)
        {
            GridEditFormItem item = e.Item as GridEditFormItem;
            var expirationDate = (RadDateTimePicker)e.Item.FindControl("ExpirationDateInsert");
            var availableDate = (RadDateTimePicker)e.Item.FindControl("AvailableDateInsert");
            var qualifier = (RadComboBox)e.Item.FindControl("QualifierInsert");
            var sublineId = (int)item.GetDataKeyValue("InventoryAdviceItemId");
            var subline = Convert.ToInt32(sublineId);
            var sublineToUpdate = itemsListTwo.FirstOrDefault(it => it.InventoryAdviceItemId == subline);
 
            if (sublineToUpdate != null)
            {
                if (expirationDate != null)
                {
                    expirationDate.SelectedDate = sublineToUpdate.ExpirationDate;
                }
                if (availableDate != null)
                {
                    availableDate.SelectedDate = sublineToUpdate.AvailableDate;
                }
                if (qualifier != null)
                {
                    qualifier.SelectedValue = sublineToUpdate.Qualifier.Trim();
                }
            }
        }
    }
 
    protected void ItemPlantsDetails_DataBind(object sender, GridDetailTableDataBindEventArgs e)
    {
        GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
        var invID = (int)(dataItem.GetDataKeyValue("InventoryAdviceItemId"));
 
        var dataSource = td.InventoryAdviceItemPlants.Where(it => it.FK_InventoryAdviceItemId == invID).ToList();
        e.DetailTableView.DataSource = dataSource;
    }
 
    protected void TabStip1_TabClick(object sender, RadTabStripEventArgs e)
    {
        e.Tab.PageView.Selected = true;
    }
}

We have a RadGrid with a NestedViewTemplate in which there is a Panel

Main RadGrid:

<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="LinqDataSource1" OnItemCommand="RadGrid1_ItemCommand"
                    AllowPaging="true" PageSize="20" Height="580px" GroupPanelPosition="Top" GridLines="None" RetainExpandStateOnRebind="true"
                    Width="1365px" AutoGenerateColumns="False" OnItemDataBound="ItemDataBound" OnItemCreated="RadGrid1_ItemCreated"
                    CellPadding="0" CellSpacing="0">
                    <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True">
                        <Selecting AllowRowSelect="True" UseClientSelectColumnOnly="True" />
                        <Selecting CellSelectionMode="None" AllowRowSelect="True"></Selecting>
                        <Scrolling AllowScroll="True" UseStaticHeaders="True" />
                    </ClientSettings>
                    <MasterTableView AutoGenerateColumns="False" DataKeyNames="Id, SenderId, ReceiverId, ControlNumber, DocumentType"
                        DataSourceID="LinqDataSource1" PageSize="20" CommandItemDisplay="None" ExpandCollapseColumn-Display="false">
                        <CommandItemSettings ExportToExcelImageUrl="../../Images/excel.png" RefreshImageUrl="../../Images/Refresh.gif"
                            ShowRefreshButton="false" RefreshText="Refresh" ShowAddNewRecordButton="false" />
                        <NestedViewTemplate >
                            <asp:Panel runat="server" ID="InnerContainer" Height="300px">
                                <asp:Label runat="server" ID="Id" Text='<%# Eval("Id") %>' Visible="false"></asp:Label>
                                <asp:Label runat="server" ID="SenderId" Value='<%# Eval("SenderId") %>' Visible="false" />
                                <asp:Label runat="server" ID="ReceiverId" Value='<%# Eval("ReceiverId") %>' Visible="false" />
                                <asp:Label runat="server" ID="ControlNumber" Value='<%# Eval("ControlNumber") %>' Visible="false" />
                            </asp:Panel>
                        </NestedViewTemplate>
                        <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" Visible="True">
                        </RowIndicatorColumn>
                        <ExpandCollapseColumn Display="False" FilterControlAltText="Filter ExpandColumn column"
                            Visible="True">
                        </ExpandCollapseColumn>
                        <Columns>
                            <telerik:GridExpandColumn ButtonType="ImageButton" ExpandImageUrl="../../Images/icons8-expand-arrow-16.png"
                                CollapseImageUrl="../../Images/icons8-collapse-arrow-16.png" UniqueName="expc">
                                <ItemStyle Width="30px" HorizontalAlign="Left" BackColor="Transparent" BorderColor="Transparent"></ItemStyle>
                                <HeaderStyle Width="30px" HorizontalAlign="Left"></HeaderStyle>
                            </telerik:GridExpandColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, MWId %>" DataField="MwRefId"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" HeaderStyle-HorizontalAlign="Left" UniqueName="MwRefId"
                                ItemStyle-HorizontalAlign="Left" HeaderStyle-Font-Bold="true">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, edi %>" DataField="DocumentType" UniqueName="DocumentType"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn HeaderText="<%$ Resources:Mwedi, status %>">
                                <ItemTemplate>
                                    <asp:Image ID="Image1345354" runat="server" Width="10px" AlternateText='<%# Eval("Status").ToString() == "O" ? "Sent" : (Eval("Status").ToString() == "E" ? "Error" : "Pending") %>'
                                        ImageUrl='<%# Eval("Status").ToString() == "O" ? "~/Images/Check.png" : ( Eval("Status").ToString() == "E" ? "~/Images/Alert.gif" : "~/Images/wait.png")  %>'
                                        ToolTip='<%# Eval("Status").ToString() == "O" ? "Sent" : (Eval("Status").ToString() == "E" ? "Error" : "Pending")  %>' />
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Left" />
                                <HeaderStyle Font-Size="X-Small" Font-Bold="true" HorizontalAlign="Left" />
                            </telerik:GridTemplateColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, po %>" DataField="PoNumber"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                                <ItemStyle Width="100px" HorizontalAlign="Left"></ItemStyle>
                                <HeaderStyle Width="100px" HorizontalAlign="Left"></HeaderStyle>
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, documentno %>" DataField="DocumentNo"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                                <ItemStyle Width="140px" HorizontalAlign="Left"></ItemStyle>
                                <HeaderStyle Width="140px" HorizontalAlign="Left"></HeaderStyle>
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, controlnoisa13 %>" DataField="ControlNumber"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, ProcessDate %>" DataField="ReceivedDate"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" DataFormatString="{0:yyyy-MM-dd}"
                                HeaderStyle-Font-Bold="true" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, docdate %>" DataField="DocumentDate"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" DataFormatString="{0:yyyy-MM-dd}"
                                HeaderStyle-Font-Bold="true" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, bol %>" DataField="BOLNumber"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" Display="false" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, po %>" DataField="PoNumber" ItemStyle-Wrap="true"
                                HeaderStyle-Font-Size="X-Small" Display="false" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, senderid %>" DataField="SenderId"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" Display="true" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, receiverid %>" DataField="ReceiverId"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" Display="true" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, invoiceno %>" DataField="InvoiceNumber"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" Display="false" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, deliverydate %>" DataField="DeliveryDate"
                                ItemStyle-Wrap="true" HeaderStyle-Font-Size="X-Small" Display="false" DataFormatString="{0:yyyy-MM-dd}"
                                HeaderStyle-Font-Bold="true" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn runat="server" HeaderText="<%$ Resources:Mwedi, direction %>" DataField="Direction"
                                HeaderStyle-Font-Size="X-Small" ItemStyle-Wrap="true" HeaderStyle-Font-Bold="true"
                                HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
                            </telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn>
                                <ItemTemplate>
                                    <asp:ImageButton runat="server" ImageUrl='<%# (string)Eval("DocumentType") == "850" ? ((char)Eval("Status") == "O"[0] ? "~/images/icons8-available-updates-16.png" : "~/images/n_a.png") : (char)Eval("Status") == "E"[0] ? "~/images/icons8-available-updates-16.png" : "~/images/n_a.png" %>'
                                        CommandName="Requeue" BorderColor="Transparent" Enabled='<%# (string)Eval("DocumentType") == "850" ? ((char)Eval("Status") == "O"[0] ? true : false) : (char)Eval("Status") == "E"[0] ? true : false %>'
                                        HeaderTooltip="<%$ Resources: Mwedi, requeuegs %>" ID="ReQueuebutton" Text="<%$ Resources: Mwedi, requeuegs %>" />
                                </ItemTemplate>
                                <HeaderTemplate>
                                    <asp:Label runat="server" Text="<%$ Resources: Mwedi, requeuegs %>"></asp:Label>
                                </HeaderTemplate>
                                <ItemStyle HorizontalAlign="Left" Wrap="true" />
                                <HeaderStyle HorizontalAlign="Left" Font-Size="X-Small" Font-Bold="true" />
                            </telerik:GridTemplateColumn>
                        </Columns>
                        <FooterStyle BackColor="#131b1e" />
                    </MasterTableView>
                    <PagerStyle Mode="Slider" AlwaysVisible="True"></PagerStyle>
                    <FooterStyle BackColor="#131b1e" />
                </telerik:RadGrid>

 

And we load the user control RowChild.ascx to the Panel on the OnItemCreated when a row detail is expanded.

OnItemCreated:

protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                e.Item.PreRender += (s, a) =>
                {
                    if (e.Item.Expanded)
                    {
                        GridDataItem item = (GridDataItem)e.Item;
                        var panel = item.ChildItem.FindControl("InnerContainer");
                        Control existingControl = panel.FindControl("TransactionRowChild");
                        if (Object.Equals(existingControl, null))
                        {
                            UserControl userControl = (UserControl)this.LoadControl("~/GSportswear/GSControls/RowChild.ascx");
                            userControl.ID = "TransactionRowChild";
                            RadTabStrip tabstrip1 = (RadTabStrip)userControl.FindControl("TabStip1");
                            if (tabstrip1 != null)
                            {
                                RadTab purchaseorderdetails = tabstrip1.FindTabByText(GetGlobalResourceObject("Mwedi", "purchaseorderdetails").ToString());
                                RadTab asndetails = tabstrip1.FindTabByText(GetGlobalResourceObject("Mwedi", "asndetails").ToString());
                                RadTab inventoryadvicedetails = tabstrip1.FindTabByText(GetGlobalResourceObject("Mwedi", "inventoryadvicedetails").ToString());
                                string documentType = item.GetDataKeyValue("DocumentType").ToString();
 
                                if (!string.IsNullOrEmpty(documentType))
                                {
                                    purchaseorderdetails.Visible = documentType == "850";
                                    asndetails.Visible = documentType == "856";
                                    inventoryadvicedetails.Visible = documentType == "846";
                                }
                            }
                            panel.Controls.Add(userControl);
                            //item.Expanded = true;
                        }
                    }
                };
            }
        }

 

The issue:

 

This loads the control just fine, however when clicking any of the tabs of the RadTabStrip there is a postback but the tab content does't change, also none of the events in the control RowChild.ascx fires.

I'm guessing that what is happening is that on PostBack the Control gets re-added on it's initial state, How to avoid this?

 

Also, keep in mind that in a MasterPage we have a RadAjaxManager, that's why we user a RadAjaxManagerProxy in the page containing the RadGrid.

I have gone over a lot of examples provided by Telerik but none seems to provide the information I'm looking for.

 

Lastly, my goal here is to improve performance of the RadGrid, this means that if there is a better approach to achieve this I'm all ears.

3 Answers, 1 is accepted

Sort by
0
Attila Antal
Telerik team
answered on 11 Aug 2020, 11:15 AM

Hi Pablo,

Creating Items dynamically needs to be done at an early event such as Init or Load as they will need to be added to the ViewState. The code you shared uses the PreRender event which does not add controls to the ViewState and they will need to be recreated every single time there's a PostBack. The ItemCreated event is good, but not shifting the job to a later event in the PreRender. 

Check out the following documentation articles to have a better understanding on the events, applications lifecycle and event sequence:

 

Here is a basic example that works:

Default.aspx (Grid markup)

<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" Width="800px" OnNeedDataSource="RadGrid1_NeedDataSource" OnItemCreated="RadGrid1_ItemCreated">
    <MasterTableView DataKeyNames="OrderID">
        <NestedViewTemplate>
            <asp:Panel runat="server" ID="InnerContainer" Height="300px">
            </asp:Panel>
        </NestedViewTemplate>
    </MasterTableView>
</telerik:RadGrid>

 

Default.aspx.cs (Code behind)

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    RadGrid1.DataSource = OrdersTable();
}

private DataTable OrdersTable()
{
    DataTable dt = new DataTable();

    dt.Columns.Add(new DataColumn("OrderID", typeof(int)));
    dt.Columns.Add(new DataColumn("OrderDate", typeof(DateTime)));
    dt.Columns.Add(new DataColumn("Freight", typeof(decimal)));
    dt.Columns.Add(new DataColumn("ShipName", typeof(string)));
    dt.Columns.Add(new DataColumn("ShipCountry", typeof(string)));

    dt.PrimaryKey = new DataColumn[] { dt.Columns["OrderID"] };

    for (int i = 0; i < 70; i++)
    {
        int index = i + 1;

        DataRow row = dt.NewRow();

        row["OrderID"] = index;
        row["OrderDate"] = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).AddHours(index);
        row["Freight"] = index * 0.1 + index * 0.01;
        row["ShipName"] = "Name " + index;
        row["ShipCountry"] = "Country " + index;

        dt.Rows.Add(row);
    }

    return dt;
}

protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
    if (e.Item is GridNestedViewItem)
    {
        var item = e.Item as GridNestedViewItem;

        var panel = item.FindControl("InnerContainer");

        Control existingControl = panel.FindControl("TransactionRowChild");
        if (Object.Equals(existingControl, null))
        {

            UserControl userControl = (UserControl)this.LoadControl("~/WebUserControl.ascx");
            userControl.ID = "TransactionRowChild";

            panel.Controls.Add(userControl);
        }
    }
}

 

WebUserControl.ascx

<telerik:RadTabStrip runat="server" ID="RadTabStrip1" MultiPageID="RadMultiPage1" AutoPostBack="true">
    <Tabs>
        <telerik:RadTab Text="Tab 1"></telerik:RadTab>
        <telerik:RadTab Text="Tab 2"></telerik:RadTab>
        <telerik:RadTab Text="Tab 3"></telerik:RadTab>
    </Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage runat="server" ID="RadMultiPage1" SelectedIndex="0">
    <telerik:RadPageView ID="RadPageView1" runat="server">
        Page 1
    </telerik:RadPageView>
    <telerik:RadPageView ID="RadPageView2" runat="server">
        Page 2
    </telerik:RadPageView>
    <telerik:RadPageView ID="RadPageView3" runat="server">
        Page 3
    </telerik:RadPageView>
</telerik:RadMultiPage>

 

I hope this will clarify the problem.

 

Kind regards,
Attila Antal
Progress Telerik

0
Pablo
Top achievements
Rank 1
answered on 14 Aug 2020, 04:52 PM

Hi Attila,

Thanks for your reply, and thanks for the links, interesting read.

I've been playing a litle bit with the information you provided.

Indeed, loading the User Control in the ItemCreated event works really well, however this makes so all 20 items that my grid displays will load a user control in the NestedViewTemplate on Page Load causing a big performance impact, and leaving me at square 1 while trying to improve performance of my RadGrid.

My goal is to only Add the User Control when a item row is expanded.

In the ItemCreated event, doing something like:

var item = e.Item as GridNestedViewItem;
if (e.Item.Expanded)
{
 
}

 

Will always return false, I guess that OnItemCreated happens way to early in page lice cycle.

Any suggestion?

0
Attila Antal
Telerik team
answered on 19 Aug 2020, 10:49 AM

Hi Pablo,

That is correct, the Expanded state is not available so early. The earliest this will become available is the ItemCommend event. However, the control still needs to be created early enough.

I suggest that you load the control in the ItemCreated event as Visible="false" initially. Later then in the ItemCommand event, you can access this control and make it visible. 

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
    if (e.CommandName == RadGrid.ExpandCollapseCommandName)
    {
        var item = (e.Item as GridDataItem);

        if (!item.Expanded)
        {
            // Item is about to expand
        }
        else
        {
            // Item is about to collapse
        }
    }
}

Or you can load the controls in later events, but that would again produce the problem you reported initially. 

Kind regards,
Attila Antal
Progress Telerik

Tags
Grid
Asked by
Pablo
Top achievements
Rank 1
Answers by
Attila Antal
Telerik team
Pablo
Top achievements
Rank 1
Share this question
or