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

Hierarchy Grid Doesnt load on demand

1 Answer 103 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Elad Amir
Top achievements
Rank 1
Elad Amir asked on 07 Apr 2011, 10:04 AM
Hi,

I have hierarchy with 2 RadGrids, however, the SQL query of the internal Grid occurs during load and not during the expand of the NestedViewTemplate.

I use:
HierarchyLoadMode="ServerOnDemand"
in the internal grid and followed exactly a demo you have, in this exact regard.

Thanks,
Elad

    <telerik:RadGrid SortingSettings-SortToolTip="הקלק למיון" OnSortCommand="RadGrid1_SortCommand" ID="RadGrid1" OnPreRender="RadGrid1_PreRender" runat="server" Width="100%" Height="820px" PageSize="10"
    AllowSorting="True" AllowMultiRowSelection="True" AllowPaging="true"
    GridLines="None" AutoGenerateColumns="False" Style="border: 0; outline:none;" Skin="Office2007">
    <MasterTableView HierarchyLoadMode="ServerOnDemand" CommandItemDisplay="Top" Dir=RTL EnableViewState="true" Width="100%" DataKeyNames="username,TopUsers1,TopUsers2,TopUsers3,TopUsers4,TopUsers5,TopUsers6,TopUsers7,TopUsers8,TopUsers9,TopUsers10,id,page,cat,RowNumber2,url,grade,lastgrade,oldgrade,lastupdate,photourl,friends,monuseract,moncommentstouser,monlikestouser,monfriendsact,moncommentstofriends,monlikestofriends" DataMember="Mails" AllowMultiColumnSorting="False">
         <PagerStyle Visible="false" />
         <CommandItemTemplate>
         <asp:LinkButton ID="LinkButton4" runat="server" CommandName="RebindGrid"><img style="border:0px;vertical-align:middle;" alt="רענן" src="images/Ref1.png" />רענן</asp:LinkButton>
            <asp:LinkButton ID="UpdateCat" Visible=false runat="server" CommandName="UpdateCat"><img style="border:0px;vertical-align:middle;" alt="עדכן קטגוריות" src="images/Update3.png" />עדכן קטגוריות</asp:LinkButton>
         </CommandItemTemplate>
        <Columns>
            <telerik:GridClientSelectColumn Visible="false" Reorderable="False" UniqueName="ClientSelectColumn">
           <HeaderStyle Width="30px"></HeaderStyle>
            </telerik:GridClientSelectColumn>
            <telerik:GridTemplateColumn UniqueName="PhotoUrl" Groupable="False">
                <HeaderStyle Width="35px"></HeaderStyle>
                <ItemStyle Height="35px"></ItemStyle>
                <ItemTemplate>
                    <a style="text-decoration:none" href="<%#converturl(DataBinder.Eval(Container.DataItem, "Url"))%>" target="_blank" >
                    <asp:Image BorderWidth="0px" Width="55" Height="55" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "PhotoUrl") %>'
                        AlternateText="MediaType" Style="float: right; cursor: pointer;" runat="server">
                    </asp:Image>
                    </a>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
             <telerik:GridTemplateColumn UniqueName="UserName" HeaderText="שם משתמש">
                <HeaderStyle HorizontalAlign="right" ></HeaderStyle>
                <ItemStyle HorizontalAlign="right" Wrap="true" ></ItemStyle>
                <ItemTemplate>
                        <a style="text-decoration:none" href="<%#converturl(DataBinder.Eval(Container.DataItem, "Url"))%>" target="_blank" >
                    <div dir="rtl" style="white-space:normal;">
                        <%# DataBinder.Eval(Container.DataItem, "UserName") %>
                        </div>
                        </a>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
            <telerik:GridBoundColumn AllowSorting="false" DataFormatString="{0:N0}" DataField="RowNumber2" HeaderText="דירוג<br>(ישראל)" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
              <telerik:GridBoundColumn AllowSorting="false" DataFormatString="{0:N0}" DataField="grade" HeaderText="ציון<br>משוקלל" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridTemplateColumn UniqueName="DailyChange" HeaderText="שינוי יומי">
                <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="center" Wrap="true" ></ItemStyle>
                <ItemTemplate>
                    <div dir="rtl" style="white-space:normal;">
                        <%# GetDailyChange(DataBinder.Eval(Container.DataItem, "grade"),DataBinder.Eval(Container.DataItem, "lastgrade"),DataBinder.Eval(Container.DataItem, "lastupdate"),DataBinder.Eval(Container.DataItem, "oldgrade")) %>
                        </div>
                        </a>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
            <telerik:GridBoundColumn SortExpression="Friends desc" DataFormatString="{0:#,###,###}" AllowSorting=true ShowSortIcon=true DataField=Friends HeaderText="מס' מעריצים" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="monuseract desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=monuseract HeaderText="מס' פעולות<br>משתמש" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="moncommentstouser desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=moncommentstouser HeaderText="תגובות<br>לפעולות" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="monlikestouser desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=monlikestouser HeaderText="לייקים<br>לפעולות" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="monfriendsact desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=monfriendsact HeaderText="מס' פעולות<br>חברים" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="moncommentstofriends desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=moncommentstofriends HeaderText="תגובות<br>לפעולות" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="monlikestofriends desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=monlikestofriends HeaderText="לייקים<br>לפעולות" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
                                <telerik:GridTemplateColumn ItemStyle-HorizontalAlign="center" UniqueName="opencategory" HeaderText="קטגוריה">
                <HeaderStyle HorizontalAlign="center" Width="50"></HeaderStyle>
                <ItemStyle Wrap="true" Width="20"></ItemStyle>
                <ItemTemplate>
                       <div dir="rtl" style="white-space:normal;">
                        <%# GetCategoryName(DataBinder.Eval(Container.DataItem, "Cat")) %>
                        </div>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
            <telerik:GridTemplateColumn ItemStyle-HorizontalAlign="center" UniqueName="category" Visible="false" HeaderText="עדכן קטגוריה">
                <HeaderStyle Width="50"></HeaderStyle>
                <ItemStyle Wrap="true" Width="20"></ItemStyle>
                <ItemTemplate>
                    <asp:ImageButton ID="ImageButton2" ImageUrl="~/Images/update3.png" runat="server" CommandName="Neg" >                          
                    </asp:ImageButton>
                    <asp:ImageButton ID="ImageButton1" ImageUrl="~/Images/Del.png" runat="server" CommandName="Pos" >                          
                    </asp:ImageButton>
                    <asp:ImageButton ID="ImageButton3" ImageUrl="~/Images/Ref1.png" runat="server" CommandName="ChangeType" >                          
                    </asp:ImageButton>
                    <asp:dropdownlist ID="DDL" runat="server">
                    <asp:ListItem Value="0" Text="לא מקוטלגים" />
                    <asp:ListItem Value="1" Text="חדשות" />
                    <asp:ListItem Value="2" Text="אופנה" />
                    <asp:ListItem Value="3" Text="טלוויזיה ורדיו" />                   
                    <asp:ListItem Value="4" Text="מוזיקה" />
                    <asp:ListItem Value="5" Text="ספורט" />
                    <asp:ListItem Value="6" Text="מחאה" />
                    <asp:ListItem Value="7" Text="דת" />               
                     <asp:ListItem Value="8" Text="בנקאות וביטוח" />                           
                    <asp:ListItem Value="9" Text="מזון" />
                    <asp:ListItem Value="10" Text="תקשורת ואלקטרוניקה" />
                    <asp:ListItem Value="11" Text="טואלטיקה" />
                    <asp:ListItem Value="12" Text="צעירים" />                   
                    <asp:ListItem Value="13" Text="רכב" />
                    <asp:ListItem Value="14" Text="חברות" />
                    <asp:ListItem Value="15" Text="מוסדות" />
                    <asp:ListItem Value="16" Text="ידוענים" />               
                    <asp:ListItem Value="17" Text="בידור" />
                    <asp:ListItem Value="18" Text="לא רלוונטיים" /> 
                    <asp:ListItem Value="19" Text="הורות" />
                    <asp:ListItem Value="20" Text="שונות" />                                           
                    </asp:dropdownlist>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
       <NestedViewTemplate>
        <asp:Panel runat="server" ID="InnerContainer" Wrap="true">
        <table><tr><td style="white-space:normal;">
                    <telerik:RadTabStrip runat="server" ID="TabStip1" MultiPageID="Multipage1"
                    SelectedIndex="0">
                    <Tabs>
                        <telerik:RadTab runat="server" Text="תוכן הקיר לאחרונה" PageViewID="PageView1">
                        </telerik:RadTab>
                        <telerik:RadTab runat="server" Text="מעריצים/חברים פעילים" PageViewID="PageView2">
                        </telerik:RadTab>
                        <telerik:RadTab runat="server" Text="היסטוריה (גרפים)" PageViewID="PageView3">
                        <Tabs>
                        <telerik:RadTab runat="server" Selected=true Text="ציון משוקלל" PageViewID="PageView3">
                        </telerik:RadTab>
                        <telerik:RadTab runat="server" Text="מעריצים/חברים" PageViewID="PageView4">
                        </telerik:RadTab>
                        <telerik:RadTab runat="server" Text="פעולות משתמש" PageViewID="PageView5">
                        </telerik:RadTab>
                        <telerik:RadTab runat="server" Text="תגובות לפעולות משתמש" PageViewID="PageView6">
                        </telerik:RadTab>
                        <telerik:RadTab runat="server" Text="לייקים לפעולות משתמש" PageViewID="PageView7">
                        </telerik:RadTab>
                        </Tabs>
                        </telerik:RadTab>
                    </Tabs>
                </telerik:RadTabStrip>
                <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" RenderSelectedPageOnly="false">
                    <telerik:RadPageView runat="server" ID="PageView1">
                        <br />
                            <%#CleanWall(DataBinder.Eval(Container.DataItem, "WallCont"), DataBinder.Eval(Container.DataItem, "TopUsers1"), DataBinder.Eval(Container.DataItem, "TopUsers2"), DataBinder.Eval(Container.DataItem, "TopUsers3"), DataBinder.Eval(Container.DataItem, "TopUsers4"), DataBinder.Eval(Container.DataItem, "TopUsers5"), DataBinder.Eval(Container.DataItem, "TopUsers6"), DataBinder.Eval(Container.DataItem, "TopUsers7"), DataBinder.Eval(Container.DataItem, "TopUsers8"), DataBinder.Eval(Container.DataItem, "TopUsers9") , DataBinder.Eval(Container.DataItem, "TopUsers10"))%>
                        <br />             
                    </telerik:RadPageView>
                    <telerik:RadPageView runat="server" ID="PageView2">
                            <telerik:RadGrid ID="RadGrid2" DataSourceID="SqlDataSource2" runat="server" Width="100%" PageSize="10"
     AllowMultiRowSelection="True" AllowPaging="true"
    GridLines="None" AutoGenerateColumns="False" Style="border: 0; outline:none;" Skin="Web20">
    <MasterTableView HierarchyLoadMode="ServerOnDemand" CommandItemDisplay=None Dir=RTL Width="100%" DataKeyNames="TopUsers1" AllowMultiColumnSorting="False">
         <PagerStyle Visible="false" />
        <Columns>
            <telerik:GridClientSelectColumn Visible="false" Reorderable="False" UniqueName="ClientSelectColumn">
           <HeaderStyle Width="30px"></HeaderStyle>
            </telerik:GridClientSelectColumn>
            <telerik:GridTemplateColumn UniqueName="PhotoUrl" Groupable="False">
                <HeaderStyle Width="35px"></HeaderStyle>
                <ItemStyle Height="35px"></ItemStyle>
                <ItemTemplate>
                    <a style="text-decoration:none" href="<%#converturl(DataBinder.Eval(Container.DataItem, "Url"))%>" target="_blank" >
                    <asp:Image ID="Image1" BorderWidth="0px" Width="55" Height="55" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "PhotoUrl") %>'
                        AlternateText="MediaType" Style="float: right; cursor: pointer;" runat="server">
                    </asp:Image>
                    </a>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
             <telerik:GridTemplateColumn UniqueName="UserName" HeaderText="שם משתמש">
                <HeaderStyle HorizontalAlign="right" ></HeaderStyle>
                <ItemStyle HorizontalAlign="right" Wrap="true" ></ItemStyle>
                <ItemTemplate>
                        <a style="text-decoration:none" href="<%#converturl(DataBinder.Eval(Container.DataItem, "Url"))%>" target="_blank" >
                    <div dir="rtl" style="white-space:normal;">
                        <%# DataBinder.Eval(Container.DataItem, "UserName") %>
                        </div>
                        </a>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
            <telerik:GridBoundColumn SortExpression="Friends desc" DataFormatString="{0:#,###,###}" AllowSorting=true ShowSortIcon=true DataField=Friends HeaderText="מס' חברים" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
              <telerik:GridBoundColumn AllowSorting="false" DataFormatString="{0:#,###,###}" DataField="grade" HeaderText="ציון<br>משוקלל" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="monuseract desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=monuseract HeaderText="מס' פעולות<br>משתמש" >
                                    <HeaderStyle HorizontalAlign="center" Width="70" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="moncommentstouser desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=moncommentstouser HeaderText="תגובות<br>לפעולות" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="monlikestouser desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=monlikestouser HeaderText="לייקים<br>לפעולות" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="monfriendsact desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=monfriendsact HeaderText="מס' פעולות<br>חברים" >
                                    <HeaderStyle HorizontalAlign="center" Width="70" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="moncommentstofriends desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=moncommentstofriends HeaderText="תגובות<br>לפעולות" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="monlikestofriends desc" DataFormatString="{0:N0}" AllowSorting=true ShowSortIcon=true DataField=monlikestofriends HeaderText="לייקים<br>לפעולות" >
                                    <HeaderStyle HorizontalAlign="center" ></HeaderStyle>
                <ItemStyle HorizontalAlign="Center" ></ItemStyle>
            </telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
    <ClientSettings AllowDragToGroup="False">
        <Selecting AllowRowSelect="True"></Selecting>
        <Scrolling AllowScroll="false"  UseStaticHeaders="True"></Scrolling>
        <ClientMessages />
    </ClientSettings>
</telerik:RadGrid>
        <asp:SqlDataSource EnableViewState="true" ID="SqlDataSource2" ConnectionString="Server=WIN-W15VZFMYJY7;Integrated Security=True;Database=DB11370;"
        ProviderName="System.Data.SqlClient" SelectCommand = "SELECT * from rfacebook where id=@TopUsers1 UNION ALL SELECT * from rfacebook_unrated where id=@TopUsers1 Order By Grade desc"
        runat="server">
            <SelectParameters>
                <asp:SessionParameter Name="TopUsers1" SessionField="TopUsers1" Type="String" />
            </SelectParameters>
                        </asp:SqlDataSource>
                    </telerik:RadPageView>
                            <telerik:RadPageView runat="server" ID="PageView3">
                            <%# DrawInfGraph(DataBinder.Eval(Container.DataItem, "id"),"grade")%>
                    </telerik:RadPageView>
                    <telerik:RadPageView runat="server" ID="PageView4">
                            <%# DrawInfGraph(DataBinder.Eval(Container.DataItem, "id"),"friends")%>
                    </telerik:RadPageView>
                    <telerik:RadPageView runat="server" ID="PageView5">
                            <%# DrawInfGraph(DataBinder.Eval(Container.DataItem, "id"),"monuseract")%>
                    </telerik:RadPageView>
                    <telerik:RadPageView runat="server" ID="PageView6">
                            <%# DrawInfGraph(DataBinder.Eval(Container.DataItem, "id"),"moncommentstouser")%>
                    </telerik:RadPageView>  
                       <telerik:RadPageView runat="server" ID="PageView7">
                            <%# DrawInfGraph(DataBinder.Eval(Container.DataItem, "id"),"monlikestouser")%>
                    </telerik:RadPageView>                       
                    </telerik:RadMultiPage>   
        </td></tr></table>           
        </asp:Panel>
       </NestedViewTemplate>
    </MasterTableView>
    <ClientSettings AllowDragToGroup="False">
        <Selecting AllowRowSelect="True"></Selecting>
        <Scrolling AllowScroll="true"  UseStaticHeaders="false" ScrollHeight="275px"></Scrolling>
        <ClientMessages />
    </ClientSettings>
</telerik:RadGrid>

1 Answer, 1 is accepted

Sort by
0
Iana Tsolova
Telerik team
answered on 11 Apr 2011, 12:17 PM
Hello Elad,

The ServerOnDemand hierarchy load mode is not supported when the hierarchical grid is built through the NestedViewTemplate. However, for the inner grids not to be bound on initial load, try setting the Visible property of the ASP:Panel with ID="InnerContainer" to false. Then set it back to true on ItemCommand/ItemCreated as it is done in the mentioned demo.

Best wishes,
Iana
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Tags
Grid
Asked by
Elad Amir
Top achievements
Rank 1
Answers by
Iana Tsolova
Telerik team
Share this question
or