Telerik is a leading vendor of ASP.NET AJAX, ASP.NET MVC, Silverlight, WinForms and WPF controls and components, as well as .NET Reporting, .NET ORM , .NET CMS, Code Analysis, Mocking, Team Productivity and Automated Testing Tools. Building on its expertise in interface development and Microsoft technologies, Telerik helps customers build applications with unparalleled richness, responsiveness and interactivity. Telerik products help thousands of companies to be more productive and deliver reliable applications under budget and on time.
Version Q1 2012 released 04/11/2012
select

TreeView / Validating Selection

  • Aniseed Syrup
    • OrderID: 10289, Quantity: 30, Unit Price: 8.00
    • OrderID: 10405, Quantity: 50, Unit Price: 8.00
    • OrderID: 10485, Quantity: 20, Unit Price: 8.00
    • OrderID: 10540, Quantity: 60, Unit Price: 10.00
    • OrderID: 10591, Quantity: 14, Unit Price: 10.00
    • OrderID: 10702, Quantity: 6, Unit Price: 10.00
    • OrderID: 10742, Quantity: 20, Unit Price: 10.00
    • OrderID: 10764, Quantity: 20, Unit Price: 10.00
    • OrderID: 10849, Quantity: 49, Unit Price: 10.00
    • OrderID: 10857, Quantity: 30, Unit Price: 10.00
    • OrderID: 11017, Quantity: 25, Unit Price: 10.00
    • OrderID: 11077, Quantity: 4, Unit Price: 10.00
  • Chocolade
    • OrderID: 10403, Quantity: 70, Unit Price: 10.20
    • OrderID: 10453, Quantity: 15, Unit Price: 10.20
    • OrderID: 10507, Quantity: 15, Unit Price: 12.75
    • OrderID: 10604, Quantity: 6, Unit Price: 12.75
    • OrderID: 10704, Quantity: 24, Unit Price: 12.75
    • OrderID: 10814, Quantity: 8, Unit Price: 12.75
 
Process Orders >

  • This example demonstrates RadTreeView's validation support. By using a RequiredFieldValidator control you can verify that your users have selected a tree node:
    <telerik:RadTreeView runat="server" ID="RadTreeView1">
      <Nodes>
        <telerik:RadTreeNode Text="Node 1">
          <Nodes>
             <telerik:RadTreeNode Text="Node 1.1" />
             <telerik:RadTreeNode Text="Node 1.2" />
          </Nodes>
        </telerik:RadTreeNode>
      </Nodes>
    </telerik:RadTreeNode>
    
    <asp:RequiredFieldValidator runat="server" 
     ID="RequiredFieldValidator1" 
     ControlToValidate="RadTreeView1"
     ErrorMessage="Please select a node" 
    />
    
    RadTreeView can also can trigger validation. You can use the ValidationGroup property to specify the validation group that should be triggered.

Source Code

C# VB.NET
Show code in new window Demo isolation steps
  • <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
    <%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %>
    <%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %>

    <%@ Page AutoEventWireup="true" CodeFile="DefaultCS.aspx.cs" Inherits="Telerik.Examples.TreeView.Validating.DefaultCS"
        Language="c#" %>

    <!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">
        <qsf:HeadTag runat="server" ID="Headtag1"></qsf:HeadTag>
        <link rel="stylesheet" type="text/css" href="styles.css" />
    </head>
    <body class="BODY">
        <form runat="server" id="mainForm">
            <qsf:Header runat="server" ID="Header1" NavigationLanguage="C#"></qsf:Header>
            <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
            <telerik:RadAjaxManager runat="Server" ID="RadAjaxManager1">
                <AjaxSettings>
                    <telerik:AjaxSetting AjaxControlID="Button1">
                        <UpdatedControls>
                            <telerik:AjaxUpdatedControl ControlID="PendingOrdersPanel" />
                            <telerik:AjaxUpdatedControl ControlID="ProcessedOrdersPanel" LoadingPanelID="RadAjaxLoadingPanel1" />
                        </UpdatedControls>
                    </telerik:AjaxSetting>
                </AjaxSettings>
            </telerik:RadAjaxManager>
            <telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanel1">
            </telerik:RadAjaxLoadingPanel>
            <div class="example-panel">
                <asp:Panel runat="server" ID="PendingOrdersPanel">
                    <telerik:RadTreeView runat="server" ID="RadTreeView1" MultipleSelect="true" OnClientNodeClicked="onNodeClick"
                        Height="220px" Width="320px">
                        <Nodes>
                            <telerik:RadTreeNode Text="Aniseed Syrup" Value="3" Category="Product" />
                            <telerik:RadTreeNode Text="Chocolade" Value="48" Category="Product" />
                        </Nodes>
                    </telerik:RadTreeView>
    <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="RadTreeView1"
    ErrorMessage="<span class='validationMsg'>Please select a product or an order</span>"

                        EnableClientScript="true" />
                </asp:Panel>
    <asp:LinkButton runat="server" ID="Button1" CssClass="process" OnClick="Button1_Click"
    Text="Process Orders &gt;" />

                <asp:Panel runat="server" ID="ProcessedOrdersPanel">
                    <telerik:RadGrid runat="server" ID="RadGrid1" AutoGenerateColumns="False" AllowPaging="true"
                        OnNeedDataSource="RadGrid1_NeedDataSource" PageSize="5" Visible="false">
                        <PagerStyle Mode="NextPrev" />
                        <MasterTableView>
                            <Columns>
                                <telerik:GridBoundColumn DataField="Value" HeaderText="OrderID" />
                            </Columns>
                        </MasterTableView>
                    </telerik:RadGrid>
                </asp:Panel>
            </div>

            <script type="text/javascript">
            /* <![CDATA[ */
                function onNodeClick(sender, args)
                {
                    var node = args.get_node();
                    if (node.get_category() == "Product")
                    {
                        var childNodes = node.get_nodes();
                        for (var i = 0; i < childNodes.get_count(); i++)
                        {
                            var childNode = childNodes.getNode(i);
                            childNode.select();
                        }
                    }
                }
            /* ]]> */
            </script>

            <qsf:Footer runat="server" ID="Footer1"></qsf:Footer>
        </form>
    </body>
    </html>

Get more than expected!

Take your time to truly experience the power of RadControls for ASP.NET AJAX with a free 60-day trial backed up by Telerik’s unlimited dedicated support.

Download your RadControls for ASP.NET AJAX trial and jumpstart your development with the available Getting Started resources.

If you have any questions, do not hesitate to contact us at sales@telerik.com.

Copyright 2002-2012 © Telerik. All right reserved
Telerik Inc, 201 Jones Rd, Waltham, MA 02451