TreeList - Client-side Selection

Client-side selection modes
EmployeeIDLastNameFirstNameCityCountryReportsTo
2FullerAndrewTacomaUSA 
  1DavolioNancySeattleUSA2
  3LeverlingJanetKirklandUSA2
  4PeacockMargaretRedmondUSA2
 5BuchananStevenLondonUK2
  8CallahanLauraSeattleUSA2

Selected items:

Demo Configurator


Isolate this demo as a stand-alone application
  • About this demo
  • C#
  • VB

Besides the usual single and multi-row selection, RadTreeList introduces the so-called "Toggle" selection mode. This functionality allows the users to toggle rows without affecting the other selected items. You can test the behavior of this mode with both single- and multi-row selection by checking the corresponding checkboxes in the configuration panel above.

  • DefaultCS.aspx
  • DefaultCS.aspx.cs
  • styles.css
<%@ Page Language="C#" Inherits="Telerik.TreeListExamplesCSharp.Selecting.ClientSideSelection.DefaultCS"CodeFile="DefaultCS.aspx.cs"  %>

<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
<head runat="server">
    <title>Telerik ASP.NET Example</title>
    <link href="styles.css" type="text/css" rel="stylesheet" />
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
    <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" />
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
            function countSelectedItems(sender, args) {
                $get('<%= SelectedItemsLabel.ClientID %>').innerHTML = sender.get_selectedItems().length;
            }
        </script>
    </telerik:RadCodeBlock>
    <telerik:RadFormDecorator RenderMode="Lightweight" ID="RadFormDecorator1" runat="server" DecoratedControls="Fieldset" DecorationZoneID="decorationZone1" />
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadTreeList1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadTreeList1" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                    <telerik:AjaxUpdatedControl ControlID="ConfiguratorPanel1"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="ConfiguratorPanel1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadTreeList1" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                    <telerik:AjaxUpdatedControl ControlID="ConfiguratorPanel1"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"></telerik:RadAjaxLoadingPanel>
    <h5>Client-side selection modes
    </h5>
    <div class="demo-container">
        <telerik:RadTreeList RenderMode="Lightweight" ID="RadTreeList1" runat="server" DataSourceID="SqlDataSource1"
            DataKeyNames="EmployeeID" ParentDataKeyNames="ReportsTo">
            <ClientSettings Selecting-AllowItemSelection="true">
                <ClientEvents OnItemSelected="countSelectedItems" OnItemDeselected="countSelectedItems"
                    OnTreeListCreated="countSelectedItems"></ClientEvents>
            </ClientSettings>
        </telerik:RadTreeList>
        <p></p>
        <div id="decorationZone1">
            <fieldset class="siFieldset">
                Selected items:
            <asp:Label ID="SelectedItemsLabel" runat="server"></asp:Label>
            </fieldset>
        </div>
    </div>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
        SelectCommand="SELECT [EmployeeID], [LastName], [FirstName], [City], [Country], [ReportsTo] FROM [Employees]"></asp:SqlDataSource>
    <qsf:ConfiguratorPanel ID="ConfiguratorPanel1" runat="server">
        <Views>
            <qsf:View>
                <qsf:ConfiguratorColumn ID="ConfiguratorColumn1" runat="server" Size="Medium">
                    <qsf:CheckBoxList ID="CheckBoxList1" runat="server" AutoPostBack="true"
                        OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged">
                        <asp:ListItem Text="Multi-row selection" />
                        <asp:ListItem Text="'Toggle' selection" />
                    </qsf:CheckBoxList>
                </qsf:ConfiguratorColumn>
            </qsf:View>
        </Views>
    </qsf:ConfiguratorPanel>
    </form>
</body>
</html>

Support & Learning Resources

Find Assistance

Help Us Improve

Was this example helpful?