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

hierarchical radgrid structure expanded state

1 Answer 46 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Chamara
Top achievements
Rank 1
Chamara asked on 07 Sep 2012, 05:04 AM

I have the following hierarchical radgrid structure.i have a linkbutton inside the inner grid.i need to keep the expanded state of the grid once i click on the link button and rebind the grid. i have tried the http://www.telerik.com/community/code-library/aspnet-ajax/grid/retain-expanded-selected-state-in-hierarchy-on-rebind.aspx post but on the post back inner grid doesn't appear.plz help 

  <telerik:RadGrid ID="RadGrid1" OnPreRender="RadGrid1_PreRender" DataSourceID="SqlDataSource1"  
        runat="server" AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="False"  Skin="Office2007" 
        AllowPaging="True" PageSize="5" GridLines="None" ShowGroupPanel="true" OnItemCreated="RadGrid1_ItemCreated"
        OnItemCommand="RadGrid1_ItemCommand" OnDataBound="RadGrid1_DataBound">
        <PagerStyle Mode="NumericPages"></PagerStyle>
        <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames="ProjectID" AllowMultiColumnSorting="True"
            GroupLoadMode="Server">
            <NestedViewTemplate>
                <asp:Panel runat="server" ID="InnerContainer" CssClass="viewWrap" Visible="false">
                    <telerik:RadTabStrip runat="server" ID="TabStip1" MultiPageID="Multipage1" SelectedIndex="0" >
                        <Tabs>
                            <telerik:RadTab runat="server" Text="Major Release" PageViewID="PageView1">
                            </telerik:RadTab>
                            <telerik:RadTab runat="server" Text="Minor Release" PageViewID="PageView2">
                            </telerik:RadTab>
                          
                        </Tabs>
                    </telerik:RadTabStrip>
                    <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" RenderSelectedPageOnly="false">
                        <telerik:RadPageView runat="server" ID="PageView1">
                            <asp:Label ID="Label1" Font-Bold="true" Font-Italic="true" Text='<%# Eval("ProjectID") %>'
                                Visible="false" runat="server" />
                            <telerik:RadGrid runat="server" ID="OrdersGrid" DataSourceID="SqlDataSource2" ShowFooter="true"  
                                AllowSorting="true" EnableLinqExpressions="false">
                                <MasterTableView ShowHeader="true" AutoGenerateColumns="False" AllowPaging="true"
                                    DataKeyNames="VersionID" PageSize="7" HierarchyLoadMode="ServerOnDemand">
                                    <DetailTables>
                                        <telerik:GridTableView AutoGenerateColumns="false" DataKeyNames="VersionID" DataSourceID="SqlDataSource3"
                                            Width="100%">
                                            <ParentTableRelation>
                                                <telerik:GridRelationFields DetailKeyField="VersionID" MasterKeyField="VersionID" />
                                            </ParentTableRelation>
                                            <Columns>
                                                <telerik:GridBoundColumn SortExpression="ItemCode" HeaderText="Item Code" HeaderButtonType="TextButton"
                                                    DataField="ItemCode" UniqueName="ItemCode">
                                                </telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn SortExpression="ItemDescription" HeaderText="Item Description" HeaderButtonType="TextButton"
                                                    DataField="ItemDescription" UniqueName="ItemDescription">
                                                </telerik:GridBoundColumn>
                                               
                                            </Columns>
                                            <SortExpressions>
                                                <telerik:GridSortExpression FieldName="ItemCode" SortOrder="Descending"></telerik:GridSortExpression>
                                            </SortExpressions>
                                        </telerik:GridTableView>
                                    </DetailTables>
                                    <Columns>
                                        <telerik:GridBoundColumn SortExpression="VersionNo" HeaderText="Version No." HeaderButtonType="TextButton"
                                            DataField="VersionNo" UniqueName="VersionNo">
                                        </telerik:GridBoundColumn>
                                         <telerik:GridBoundColumn SortExpression="ModuleName" HeaderText="Module Name" HeaderButtonType="TextButton"
                                            DataField="ModuleName" UniqueName="ModuleName">
                                        </telerik:GridBoundColumn>
                                          <telerik:GridBoundColumn SortExpression="ApplicationName" HeaderText="Application Name" HeaderButtonType="TextButton"
                                            DataField="ApplicationName" UniqueName="ApplicationName">
                                        </telerik:GridBoundColumn>
                                         <telerik:GridBoundColumn SortExpression="Date" HeaderText="Relase Date" HeaderButtonType="TextButton"
                                            DataField="Date" UniqueName="Date"  DataFormatString="{0:dd/MM/yyyy}">
                                        </telerik:GridBoundColumn>
                                        <%-- <telerik:GridBoundColumn SortExpression="Confirmation" HeaderText="Confirmation" HeaderButtonType="TextButton"
                                            DataField="Confirmation" UniqueName="Confirmation">
                                        </telerik:GridBoundColumn>--%>
                                       <telerik:GridTemplateColumn HeaderText="Confirmation">
                                       <ItemTemplate>
                                       
                                          <asp:LinkButton ID="lbConfirmaton" runat="server" CommandArgument='<%# Eval("VersionID")%>' Text='<%# Eval("Confirmation") %>' OnCommand="lbConfirmaton_Click"></asp:LinkButton>
                                      
                                       </ItemTemplate>
                                       </telerik:GridTemplateColumn>
                                    </Columns>
                                </MasterTableView>
                            </telerik:RadGrid>
                            <asp:SqlDataSource ID="SqlDataSource2" ConnectionString="<%$ ConnectionStrings:ConVersionControl %>"
                                ProviderName="System.Data.SqlClient" SelectCommand="select p.ProjectID,p.ProjectName,v.VersionID,
                                v.VersionNo,v.Date,v.Confirmation,v.VersionType,v.ModuleID,m.ModuleName,a.ApplicationName  
from 
tblProject p inner join tblApplication a on a.ProjectID=p.ProjectID inner join
 tblVersion v on a.ApplicationID=v.ApplicationID inner join tblModule m
on m.ModuleID=v.ModuleID
where p.ProjectID=@ProjectID and v.VersionType='Major'
 order by m.ModuleName asc"
                                runat="server">
                                <SelectParameters>
                                    <asp:ControlParameter ControlID="Label1" PropertyName="Text" Type="String" Name="ProjectID" />
                                </SelectParameters>
                            </asp:SqlDataSource>
                            <asp:SqlDataSource ID="SqlDataSource3" ConnectionString="<%$ ConnectionStrings:ConVersionControl %>"
                                ProviderName="System.Data.SqlClient" SelectCommand="
                               select p.ProjectID,p.ProjectName,v.VersionID,v.VersionNo,v.Date,v.Confirmation,v.VersionType,v.Confirmation
,m.ModuleID,t.ItemID,t.ItemCode,t.ItemDescription,m.ModuleName,a.ApplicationName
 from
tblProject p inner join tblApplication a
 on a.ProjectID=p.ProjectID inner join
 tblVersion v on a.ApplicationID=
v.ApplicationID
inner join tblItem t on t.VersionID=v.VersionID
inner join tblModule m on m.ModuleID=v.ModuleID
where v.VersionType='Major' and v.VersionID=@VersionID and p.ProjectID=@ProjectID"
                                runat="server">
                                <SelectParameters>
                                    <asp:SessionParameter Name="VersionID" SessionField="VersionID" Type="Int32" />
                                      <asp:ControlParameter ControlID="Label1" PropertyName="Text" Type="String" Name="ProjectID" />
                                </SelectParameters>
                            </asp:SqlDataSource>
                        </telerik:RadPageView>
                        <telerik:RadPageView runat="server" ID="PageView2">
                           <telerik:RadGrid runat="server" ID="RadGrid2" DataSourceID="SqlDataSource5" ShowFooter="true" 
                                AllowSorting="true" EnableLinqExpressions="false">
                                <MasterTableView ShowHeader="true" AutoGenerateColumns="False" AllowPaging="true"
                                    DataKeyNames="VersionID" PageSize="7" HierarchyLoadMode="ServerOnDemand">
                                    <DetailTables>
                                        <telerik:GridTableView AutoGenerateColumns="false" DataKeyNames="VersionID" DataSourceID="SqlDataSource6"
                                            Width="100%">
                                            <ParentTableRelation>
                                                <telerik:GridRelationFields DetailKeyField="VersionID" MasterKeyField="VersionID" />
                                            </ParentTableRelation>
                                            <Columns>
                                                <telerik:GridBoundColumn SortExpression="ItemCode" HeaderText="Item Code" HeaderButtonType="TextButton"
                                                    DataField="ItemCode" UniqueName="ItemCode">
                                                </telerik:GridBoundColumn>
                                                <telerik:GridBoundColumn SortExpression="ItemDescription" HeaderText="Item Description" HeaderButtonType="TextButton"
                                                    DataField="ItemDescription" UniqueName="ItemDescription">
                                                </telerik:GridBoundColumn>
                                               
                                            </Columns>
                                            <SortExpressions>
                                                <telerik:GridSortExpression FieldName="ItemCode" SortOrder="Descending"></telerik:GridSortExpression>
                                            </SortExpressions>
                                        </telerik:GridTableView>
                                    </DetailTables>
                                    <Columns>
                                        <telerik:GridBoundColumn SortExpression="VersionNo" HeaderText="Version No." HeaderButtonType="TextButton"
                                            DataField="VersionNo" UniqueName="VersionNo">
                                        </telerik:GridBoundColumn>
                                         <telerik:GridBoundColumn SortExpression="ModuleName" HeaderText="Module Name" HeaderButtonType="TextButton"
                                            DataField="ModuleName" UniqueName="ModuleName">
                                        </telerik:GridBoundColumn>
                                         <telerik:GridBoundColumn SortExpression="ApplicationName" HeaderText="Application Name" HeaderButtonType="TextButton"
                                            DataField="ApplicationName" UniqueName="ApplicationName">
                                        </telerik:GridBoundColumn>
                                         <telerik:GridBoundColumn SortExpression="Date" HeaderText="Relase Date" HeaderButtonType="TextButton"
                                            DataField="Date" UniqueName="Date"  DataFormatString="{0:dd/MM/yyyy}">
                                        </telerik:GridBoundColumn>
                                         <%--<telerik:GridBoundColumn SortExpression="Confirmation" HeaderText="Confirmation" HeaderButtonType="TextButton"
                                            DataField="Confirmation" UniqueName="Confirmation">
                                        </telerik:GridBoundColumn>--%>
                                        <telerik:GridTemplateColumn HeaderText="Confirmation">
                                       <ItemTemplate>
                                           <asp:LinkButton ID="lbConfirmaton" runat="server" CommandArgument='<%# Eval("VersionID")%>' Text='<%# Eval("Confirmation") %>' OnCommand="lbConfirmaton_Click"></asp:LinkButton>
                                       </ItemTemplate>
                                       </telerik:GridTemplateColumn>
                                    </Columns>
                                </MasterTableView>
                            </telerik:RadGrid>
                            <asp:SqlDataSource ID="SqlDataSource5" ConnectionString="<%$ ConnectionStrings:ConVersionControl %>"
                                ProviderName="System.Data.SqlClient" SelectCommand="select p.ProjectID,p.ProjectName,v.VersionID,v.VersionNo,v.Date,v.Confirmation,
                                v.VersionType,v.ModuleID,m.ModuleName,a.ApplicationName  
from 
tblProject p inner join tblApplication a
 on a.ProjectID=p.ProjectID inner join
 tblVersion v on a.ApplicationID=
v.ApplicationID inner join tblModule m
on m.ModuleID=v.ModuleID
where p.ProjectID=@ProjectID and v.VersionType='Minor'
 order by m.ModuleName asc"
                                runat="server">
                                <SelectParameters>
                                    <asp:ControlParameter ControlID="Label1" PropertyName="Text" Type="String" Name="ProjectID" />
                                </SelectParameters>
                            </asp:SqlDataSource>
                            <asp:SqlDataSource ID="SqlDataSource6" ConnectionString="<%$ ConnectionStrings:ConVersionControl %>"
                                ProviderName="System.Data.SqlClient" SelectCommand="
                               select p.ProjectID,p.ProjectName,v.VersionID,v.VersionNo,v.Date,v.Confirmation,v.VersionType
,m.ModuleID,t.ItemID,t.ItemCode,t.ItemDescription,m.ModuleName
 from
tblProject p inner join tblApplication a
 on a.ProjectID=p.ProjectID inner join
 tblVersion v on a.ApplicationID=
v.ApplicationID
inner join tblItem t on t.VersionID=v.VersionID
inner join tblModule m on m.ModuleID=v.ModuleID
where v.VersionType='Minor' and v.VersionID=@VersionID and p.ProjectID=@ProjectID"
                                runat="server">
                                <SelectParameters>
                                    <asp:SessionParameter Name="VersionID" SessionField="VersionID" Type="Int32"/>
                                      <asp:ControlParameter ControlID="Label1" PropertyName="Text" Type="String" Name="ProjectID" />
                                </SelectParameters>
                            </asp:SqlDataSource>
                        </telerik:RadPageView>
                       
                    </telerik:RadMultiPage>
                </asp:Panel>
            </NestedViewTemplate>
            <Columns>
                <telerik:GridBoundColumn SortExpression="ProjectName" HeaderText="Project Name" HeaderButtonType="TextButton"
                    DataField="ProjectName" UniqueName="ProjectName">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn SortExpression="VersionNo" HeaderText="Latest Version No." HeaderButtonType="TextButton"
                    DataField="VersionNo" UniqueName="VersionNo">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn SortExpression="RelaseDate" DataFormatString="{0:dd/MM/yyyy}"
                    HeaderText="Relase Date" HeaderButtonType="TextButton" DataField="RelaseDate" UniqueName="RelaseDate">
                </telerik:GridBoundColumn>
               
            </Columns>
        </MasterTableView>
        <ClientSettings AllowDragToGroup="true" />
    </telerik:RadGrid>

1 Answer, 1 is accepted

Sort by
0
Radoslav
Telerik team
answered on 12 Sep 2012, 07:09 AM
Hi Chamara,

I am sending you a simple example which demonstrates how to achieve the desired functionality. Please check it out and let me know if it helps you.

Looking forward for your reply.

Kind regards,
Radoslav
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Tags
General Discussions
Asked by
Chamara
Top achievements
Rank 1
Answers by
Radoslav
Telerik team
Share this question
or