or
<%@ 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>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) { }} <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function FocusMenu(menu, eventArgs) { menu.get_items().getItem(0).get_linkElement().focus(); } </script> </telerik:RadCodeBlock> <telerik:RadGrid ID="RadGridAxOrder" runat="server" DataSourceID="sdsAxOrderView" AllowPaging="True" AllowSorting="True" AllowFilteringByColumn="True" GridLines="None" AutoGenerateColumns="False" onitemcommand="RadGridAxOrder_ItemCommand" onprerender="RadGridAxOrder_PreRender"> <GroupingSettings CaseSensitive="false" /> <ClientSettings AllowKeyboardNavigation="true" > <KeyboardNavigationSettings FocusKey="G" /> </ClientSettings> <MasterTableView AutoGenerateColumns="False" DataSourceID="sdsAxOrderView"> <Columns> <telerik:GridBoundColumn DataField="ordreNr" FilterControlAltText="Filter ordreNr column" HeaderText="Ordrenr." ReadOnly="True" SortExpression="ordreNr" UniqueName="ordreNr"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ordreNavn" FilterControlAltText="Filter ordreNavn column" HeaderText="Ordrenavn" SortExpression="ordreNavn" UniqueName="ordreNavn"> </telerik:GridBoundColumn> And so on protected void RadGridAxOrder_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { if (e.CommandName == "Edit") { e.Canceled = true; } } protected void RadGridAxOrder_PreRender(object sender, EventArgs e) { RadGridAxOrder.FilterMenu.OnClientShown = "FocusMenu"; } }