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

Can't get HierarchyLoadMode="ServerOnDemand" to work

2 Answers 153 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Sébastien
Top achievements
Rank 2
Sébastien asked on 30 Mar 2011, 09:17 AM
Dear Telerik Team,

I can't get HierarchyLoadMode="ServerOnDemand" to work. Could you please point me a direction where to search for solving the problem ?

Here is my code : the RadGridProgramme contains 1.000 records. It contains Programs. Each Program contains 500 Projects. If I bind everything in the same time, ServerBind, it's very slow. That's why I would like to bind each RadGridProjetNested on ItemExpand command. But it doesn't work. In any of my trials, RadGridProjetNested bind in the first load, then bind another time on ItemExpand command... 

Aspx : 
<%@ Page Language="C#" MasterPageFile="~/Pages/Master/MasterPage.master" AutoEventWireup="true"
    CodeFile="Programme.aspx.cs" Inherits="Pages_Projets_Programme" Title="Programme" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <telerik:RadAjaxManager ID="RessourceManager" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RessourceManager">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGridProgramme" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadGridProgramme">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGridProgramme" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadGridProjetNested">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGridProjetNested" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <fieldset>
        <telerik:RadGrid ID="RadGridProgramme" runat="server" AutoGenerateColumns="False"
            DataSourceID="SqlDataSourceProgramme" GridLines="None" ShowFooter="True" AllowSorting="True"
            EnableLinqExpressions="False" OnItemCreated="RadGridProgramme_ItemCreated" OnDataBound="RadGridProgramme_DataBound"
            OnItemCommand="RadGridProgramme_ItemCommand" EnableEmbeddedSkins="false">
            <MasterTableView DataKeyNames="IdProgramme" DataSourceID="SqlDataSourceProgramme"
                ShowHeader="true" AutoGenerateColumns="False" AllowPaging="true" HierarchyLoadMode="ServerOnDemand"
                CommandItemDisplay="Top" Name="Master">
                <NestedViewTemplate>
                    <asp:Panel runat="server" ID="InnerContainer" Visible="false" class="PanelTache">
                        <asp:Label ID="IdprogProjet" Font-Bold="true" Font-Italic="true" Text='<%# Eval("IdProgramme") %>'
                            Visible="false" runat="server" />
                        <telerik:RadGrid AllowSorting="False" DataSourceID="ProjectsDataSource" AutoGenerateColumns="False"
                            EnableEmbeddedSkins="false" EnableLinqExpressions="false" GridLines="None" ID="RadGridProjetNested"
                            OnItemCommand="RadGridProjetNested_ItemCommand" OnItemCreated="RadGridProjetNested_ItemCreated"
                            runat="server" ShowFooter="true" OnItemDataBound="RadGridProjetNested_ItemDataBound">
                            <MasterTableView ShowHeader="true" AutoGenerateColumns="False" AllowPaging="false"
                                HierarchyLoadMode="ServerOnDemand" CommandItemDisplay="Top" DataKeyNames="IdProjet"
                                RetrieveAllDataFields="true" AdditionalDataFieldNames="IdProgramme" Name="RadGridProjetNestedMDView">
                                <ParentTableRelation>
                                    <telerik:GridRelationFields DetailKeyField="IdProjet" MasterKeyField="IdProgramme" />
                                </ParentTableRelation>
                                <Columns>
                                    <telerik:GridBoundColumn DataField="Libelle" DefaultInsertValue="" HeaderText="Libellé"
                                        SortExpression="Libelle" UniqueName="Libelle" />
                                </Columns>
                            </MasterTableView>
                        </telerik:RadGrid>
                        <asp:SqlDataSource ID="ProjectsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:CSSA %>"
                            SelectCommand="LIST_Project" SelectCommandType="StoredProcedure">
                            <SelectParameters>
                                <asp:SessionParameter Name="IdRequester" SessionField="IdUser" Type="Int32" />
                                <asp:ControlParameter ControlID="IdprogProjet" PropertyName="Text" Type="String"
                                    Name="IdProgrammeParent" />
                            </SelectParameters>
                        </asp:SqlDataSource>
                    </asp:Panel>
                </NestedViewTemplate>
                <ExpandCollapseColumn Visible="True">
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridBoundColumn DataField="IdProgramme" DataType="System.Int32" DefaultInsertValue=""
                        HeaderText="IdProgramme" ReadOnly="True" SortExpression="IdProgramme" UniqueName="IdProgramme"
                        Visible="false">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="Libelle" DefaultInsertValue="" HeaderText="Libellé"
                        SortExpression="Libelle" UniqueName="Libelle">
                    </telerik:GridBoundColumn>
                </Columns>
            </MasterTableView>
        </telerik:RadGrid>
    </fieldset>
    <asp:SqlDataSource ID="SqlDataSourceProgramme" runat="server" ConnectionString="<%$ ConnectionStrings:CSSA %>"
        SelectCommand="LIST_Programme" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:SessionParameter Name="idRequester" SessionField="IdUser" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default">
    </telerik:RadAjaxLoadingPanel>
</asp:Content>

Aspx.cs : 
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
 
public partial class Pages_Projets_Programme : Page
{
    /// <summary>
    /// Handles the Load event of the Page control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    /// <summary>
    /// Handles the DataBound event of the RadGridProgramme control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
    protected void RadGridProgramme_DataBound(object sender, EventArgs e)
    {
        if (!String.IsNullOrEmpty(SessionObject.IndexItemExpanded))
        {
            foreach (String strIndex in SessionObject.IndexItemExpanded.Split('-'))
            {
                if (!String.IsNullOrEmpty(strIndex))
                {
                    Int32 Index = Convert.ToInt32(strIndex);
                    RadGridProgramme.Items[Index].Expanded = true;
                    RadGridProgramme.Items[Index].ChildItem.FindControl("InnerContainer").Visible = true;
                }
            }
        }
    }
 
    /// <summary>
    /// Display the list of associated projects
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void RadGridProgramme_ItemCommand(object source, GridCommandEventArgs e)
    {
 
        // Multi-Items stays expanded after Rebind()
        if (e.CommandName == RadGrid.ExpandCollapseCommandName)
        {
            if (!e.Item.Expanded)
            {
                SessionObject.IndexItemExpanded += "-" + e.Item.ItemIndexHierarchical;
            }
            else
            {
                if (!String.IsNullOrEmpty(SessionObject.IndexItemExpanded))
                {
                    SessionObject.IndexItemExpanded = SessionObject.IndexItemExpanded.Replace("-" + e.Item.ItemIndexHierarchical, "");
                }
            }
 
            e.Item.Selected = !e.Item.Selected;
            ((GridDataItem)e.Item).ChildItem.FindControl("InnerContainer").Visible =
                !((GridDataItem)e.Item).ChildItem.FindControl("InnerContainer").Visible;
 
        }
 
        if (e.CommandName == RadGrid.PageCommandName)
        {
            SessionObject.IndexItemExpanded = null;
        }
    }
 
    /// <summary>
    ///
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProgramme_ItemCreated(object sender, GridItemEventArgs e)
    {
  
    }
 
    /// <summary>
    ///
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void RadGridProjetNested_ItemCommand(object sender, GridCommandEventArgs e)
    {
 
    }
 
    /// <summary>
    /// Handles the ItemCreated event of the RadGridProjetNested control.
    /// ItemCreated is fired before the item is data-bound. Thus no data is still in the cells' text or input controls.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProjetNested_ItemCreated(object sender, GridItemEventArgs e)
    {
         
    }
 
    /// <summary>
    /// Handles the ItemDataBound event of the RadGridProjetNested control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProjetNested_ItemDataBound(object sender, GridItemEventArgs e)
    {
 
    }
}

I abstracted some logic to make the code more clear but that's it.

Please help I'm stuck !!

S.F.

2 Answers, 1 is accepted

Sort by
0
Sébastien
Top achievements
Rank 2
answered on 01 Apr 2011, 10:13 AM
I went a little bit more far into the problem and finished having the loading time decreased dtrastically but now the nested RadGrids doens't seems to Bind and stays empty. I need the grids to display even if they are empty because they contains the button to add items ...

<%@ Page Language="C#" MasterPageFile="~/Pages/Master/MasterPage.master" AutoEventWireup="true"
    CodeFile="Programme.aspx.cs" Inherits="Pages_Test_Programme" Title="Programme" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <telerik:RadAjaxManager ID="RessourceManager" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RessourceManager">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGridProgramme" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadGridProgramme">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGridProgramme" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadGridProjetNested">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGridProjetNested" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <fieldset>
        <telerik:RadGrid ID="RadGridProgramme" runat="server" AutoGenerateColumns="False"
            DataSourceID="SqlDataSourceProgramme" GridLines="None" ShowFooter="True" AllowSorting="True"
            EnableLinqExpressions="False" OnItemCreated="RadGridProgramme_ItemCreated" OnDataBound="RadGridProgramme_DataBound"
            OnItemCommand="RadGridProgramme_ItemCommand" EnableEmbeddedSkins="false">
            <MasterTableView DataKeyNames="IdProgramme" DataSourceID="SqlDataSourceProgramme"
                ShowHeader="true" AutoGenerateColumns="False" AllowPaging="true" GroupLoadMode="Server"
                CommandItemDisplay="Top" Name="Master">
 
                <NestedViewTemplate>
                    <asp:Panel runat="server" ID="InnerContainer" Visible="false" class="PanelTache">
                        <telerik:RadGrid runat="server" ID="RadGridProjetNested" EnableEmbeddedSkins="false"
                            EnableLinqExpressions="false" OnItemCommand="RadGridProjetNested_ItemCommand"
                            OnItemCreated="RadGridProjetNested_ItemCreated"
                            OnNeedDataSource="RadGridProjetNested_NeedDataSource" OnItemDataBound="RadGridProjetNested_ItemDataBound">
                            <MasterTableView GridLines="None" AutoGenerateColumns="False" ShowFooter="true" ShowHeader="true"
                                AllowPaging="false" AllowSorting="False" CommandItemDisplay="Top" DataKeyNames="IdProjet"
                                RetrieveAllDataFields="true" Name="RadGridProjetNestedMDView">
                                <ParentTableRelation>
                                    <telerik:GridRelationFields DetailKeyField="IdProjet" MasterKeyField="IdProgramme" />
                                </ParentTableRelation>
                                <Columns>
                                    <telerik:GridBoundColumn DataField="Libelle" DefaultInsertValue="" HeaderText="Libellé"
                                        SortExpression="Libelle" UniqueName="Libelle" />
                                </Columns>
                            </MasterTableView>
                        </telerik:RadGrid>
                    </asp:Panel>
                </NestedViewTemplate>
                <ExpandCollapseColumn Visible="True">
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridBoundColumn DataField="IdProgramme" DataType="System.Int32" DefaultInsertValue=""
                        HeaderText="IdProgramme" ReadOnly="True" SortExpression="IdProgramme" UniqueName="IdProgramme"
                        Visible="false">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="Libelle" DefaultInsertValue="" HeaderText="Libellé"
                        SortExpression="Libelle" UniqueName="Libelle">
                    </telerik:GridBoundColumn>
                </Columns>
            </MasterTableView>
        </telerik:RadGrid>
    </fieldset>
    <asp:SqlDataSource ID="SqlDataSourceProgramme" runat="server" ConnectionString="<%$ ConnectionStrings:CSSA %>"
        SelectCommand="LIST_Programme" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:SessionParameter Name="idRequester" SessionField="IdUtilisateur" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:SqlDataSource ID="ProjectsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:CSSA %>"
        SelectCommand="LIST_ProjetTousProfils" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:SessionParameter Name="IdPersonne" SessionField="IdUtilisateur" Type="Int32" />
            <asp:ControlParameter ControlID="RadGridProgramme" DefaultValue="99999" Name="IdProgrammeParent"
                PropertyName="SelectedValue" Type="String" />
        </SelectParameters>
    </asp:SqlDataSource>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default">
    </telerik:RadAjaxLoadingPanel>
</asp:Content>


using System;
using System.Web.UI;
using Telerik.Web.UI;
 
public partial class Pages_Test_Programme : Page
{
    /// <summary>
    /// Handles the Load event of the Page control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    /// <summary>
    /// Handles the DataBound event of the RadGridProgramme control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
    protected void RadGridProgramme_DataBound(object sender, EventArgs e)
    {
        if (!String.IsNullOrEmpty(SessionObject.IndexItemExpanded))
        {
            foreach (String strIndex in SessionObject.IndexItemExpanded.Split('-'))
            {
                if (!String.IsNullOrEmpty(strIndex))
                {
                    Int32 Index = Convert.ToInt32(strIndex);
                    RadGridProgramme.Items[Index].Expanded = true;
                    RadGridProgramme.Items[Index].ChildItem.FindControl("InnerContainer").Visible = true;
                }
            }
        }
    }
 
    /// <summary>
    /// Display the list of associated projects
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void RadGridProgramme_ItemCommand(object source, GridCommandEventArgs e)
    {
 
        // Multi-Items stays expanded after Rebind()
        if (e.CommandName == RadGrid.ExpandCollapseCommandName)
        {
            if (!e.Item.Expanded)
            {
                SessionObject.IndexItemExpanded += "-" + e.Item.ItemIndexHierarchical;
            }
            else
            {
                if (!String.IsNullOrEmpty(SessionObject.IndexItemExpanded))
                {
                    SessionObject.IndexItemExpanded = SessionObject.IndexItemExpanded.Replace("-" + e.Item.ItemIndexHierarchical, "");
                }
            }
 
            e.Item.Selected = !e.Item.Selected;
            ((GridDataItem)e.Item).ChildItem.FindControl("InnerContainer").Visible =
                !((GridDataItem)e.Item).ChildItem.FindControl("InnerContainer").Visible;
 
        }
 
        if (e.CommandName == RadGrid.PageCommandName)
        {
            SessionObject.IndexItemExpanded = null;
        }
    }
 
    /// <summary>
    ///
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProgramme_ItemCreated(object sender, GridItemEventArgs e)
    {
  
    }
 
    /// <summary>
    ///
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void RadGridProjetNested_ItemCommand(object sender, GridCommandEventArgs e)
    {
 
    }
 
    /// <summary>
    /// Handles the ItemCreated event of the RadGridProjetNested control.
    /// ItemCreated is fired before the item is data-bound. Thus no data is still in the cells' text or input controls.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProjetNested_ItemCreated(object sender, GridItemEventArgs e)
    {
         
    }
 
    /// <summary>
    /// Handles the ItemDataBound event of the RadGridProjetNested control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProjetNested_ItemDataBound(object sender, GridItemEventArgs e)
    {
 
    }
 
    protected void RadGridProjetNested_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
 
        RadGrid rg = (RadGrid)sender;
        rg.DataSourceID = "ProjectsDataSource";
 
    }
 
 
}

So this time the RadGridProgramme binds effectively, but the NestedRadGrid doens't ... I'm stuck.

SF
0
Sébastien
Top achievements
Rank 2
answered on 01 Apr 2011, 10:55 AM
I found it !

I have to Bind when the item expands !
using System;
using System.Web.UI;
using Telerik.Web.UI;
 
public partial class Pages_Test_Programme : Page
{
    /// <summary>
    /// Handles the Load event of the Page control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    /// <summary>
    /// Handles the DataBound event of the RadGridProgramme control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
    protected void RadGridProgramme_DataBound(object sender, EventArgs e)
    {
        if (!String.IsNullOrEmpty(SessionObject.IndexItemExpanded))
        {
            foreach (String strIndex in SessionObject.IndexItemExpanded.Split('-'))
            {
                if (!String.IsNullOrEmpty(strIndex))
                {
                    Int32 Index = Convert.ToInt32(strIndex);
                    RadGridProgramme.Items[Index].Expanded = true;
                    RadGridProgramme.Items[Index].ChildItem.FindControl("InnerContainer").Visible = true;
                }
            }
        }
    }
 
    /// <summary>
    /// Display the list of associated projects
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void RadGridProgramme_ItemCommand(object source, GridCommandEventArgs e)
    {
 
        // Multi-Items stays expanded after Rebind()
        if (e.CommandName == RadGrid.ExpandCollapseCommandName)
        {
            if (!e.Item.Expanded)
            {
                SessionObject.IndexItemExpanded += "-" + e.Item.ItemIndexHierarchical;
            }
            else
            {
                if (!String.IsNullOrEmpty(SessionObject.IndexItemExpanded))
                {
                    SessionObject.IndexItemExpanded = SessionObject.IndexItemExpanded.Replace("-" + e.Item.ItemIndexHierarchical, "");
                }
            }
 
            e.Item.Selected = !e.Item.Selected;
            ((GridDataItem)e.Item).ChildItem.FindControl("InnerContainer").Visible =
                !((GridDataItem)e.Item).ChildItem.FindControl("InnerContainer").Visible;
 
            if (!e.Item.Expanded)
            {
                // Bind la RadGrid Nested.
                String IdProgramme = ((GridDataItem)e.Item).OwnerTableView.DataKeyValues[((GridDataItem)e.Item).ItemIndex]["IdProgramme"].ToString();
 
                RadGrid rg = (RadGrid)((GridDataItem)e.Item).ChildItem.FindControl("RadGridProjetNested");
 
                rg.DataSource = ProjetGestion.Projet_Liste(Convert.ToString(SessionObject.Utilisateur.IdPersonne),  IdProgramme);
 
                rg.DataBind();
            }
 
        }
 
        if (e.CommandName == RadGrid.PageCommandName)
        {
            SessionObject.IndexItemExpanded = null;
        }
    }
 
    /// <summary>
    ///
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProgramme_ItemCreated(object sender, GridItemEventArgs e)
    {
  
    }
 
    /// <summary>
    ///
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void RadGridProjetNested_ItemCommand(object sender, GridCommandEventArgs e)
    {
 
    }
 
    /// <summary>
    /// Handles the ItemCreated event of the RadGridProjetNested control.
    /// ItemCreated is fired before the item is data-bound. Thus no data is still in the cells' text or input controls.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProjetNested_ItemCreated(object sender, GridItemEventArgs e)
    {
         
    }
 
    /// <summary>
    /// Handles the ItemDataBound event of the RadGridProjetNested control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
    protected void RadGridProjetNested_ItemDataBound(object sender, GridItemEventArgs e)
    {
 
    }
 
    protected void RadGridProjetNested_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
 
 
    }
 
}
Tags
Grid
Asked by
Sébastien
Top achievements
Rank 2
Answers by
Sébastien
Top achievements
Rank 2
Share this question
or