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.
