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 Q2 2011 released 07/12/2011
select

Splitter / Client-side Events

Collapse/Resize the vertical splitter to see how the client-side events are raised.
Top Pane
Bottom Pane
Right Pane
Clear log Event log:

  • Client-Side Events

    RadSplitter client-side events:
    • OnClientLoad - raised when the initialization of the RadSplitter is complete.
    • OnClientResizing - raised before the RadSplitter resizes.
    • OnClientResized - raised when the RadSplitter resizes.

    RadPane client-side events:
    • OnClientCollapsing - raised before the RadPane is collapsed.
    • OnClientCollapsed - raised when the RadPane is collapsed.
    • OnClientExpanding- raised before the RadPane is expanded.
    • OnClientExpanded - raised when the RadPane is expanded.
    • OnClientResizing - raised before the RadPane is resized.
    • OnClientResized - raised when the RadPane is resized.

    All client side events take two parameters - sender and arguments:
            function OnClientLoad(sender, args) 
            {
              //sender represents the splitter that has fired the event             //the code below obtains the id of the splitter that has fired the event             var id = sender.get_id();
    }

    All events that end in "ing" (i.e. OnClientResizing)" can be cancelled. To do this you should call the set_cancel(true) method in the event handler:

             function OnClientResizing(sender, args)
           {                           set_cancel(true);                        }
    Once, the OnClientResizing event is cancelled, the splitter/pane cannot change its width and height.

Source Code

C# VB.NET
Show code in new window Demo isolation steps
  • <%@ Page Language="c#" CodeFile="DefaultCS.aspx.cs" AutoEventWireup="false" Inherits="Telerik.Web.Examples.Splitter.ClientSideEvents.DefaultCS" %>

    <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
    <%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %>
    <%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %>
    <!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 ID="Headtag1" runat="server"></qsf:HeadTag>
    </head>
    <body class="BODY">
        <form id="Form1" method="post" runat="server">
        <qsf:Header ID="Header1" runat="server" NavigationLanguage="c#">
        </qsf:Header>
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>

        <script type="text/javascript">
            /* RadSplitter events */
            function SplitterLoad(sender,args)
            {
                window.setTimeout(function(){
                    logEvent("Splitter with ID=" + sender.get_id() + " is loaded.");
                }, 0);
            }

            function SplitterResizing(sender,args)
            {
                var id = sender.get_id();
                var logMessage = "";

                var width = sender.get_width();
                var newWidth = args.get_newWidth();
                if(width != newWidth)
                    logMessage += "Changing width of splitter with ID=" + id + " from " + width + "px to " + newWidth + "px.";

                var height = sender.get_height();
                var newHeight = args.get_newHeight();
                if(height != newHeight)
                    logMessage += "Changing height of splitter with ID=" + id + " from " + height + "px to " + newHeight + "px.";

                if("" != logMessage)
                {
                    window.setTimeout(function(){
                        logEvent(logMessage);
                    }, 0);
                }
            }

            function SplitterResized(sender,args)
            {
                var id = sender.get_id();
                var logMessage = "";

                var oldWidth = args.get_oldWidth();
                var width = sender.get_width();
                if(oldWidth != width)
                    logMessage += "Changed width of splitter with ID=" + id + " from " + oldWidth + "px to " + width + "px.";

                var oldHeight = args.get_oldHeight();
                var height = sender.get_height();
                if(oldHeight != height)
                    logMessage += "Changed height of splitter with ID=" + id + " from " + oldHeight + "px to " + height + "px.";

                if("" != logMessage)
                {
                    window.setTimeout(function(){
                        logEvent(logMessage);
                    }, 0);
                }
            }

            /* RadPane events */
            function PaneCollapsing(sender,args)
            {
                window.setTimeout(function(){
                    logEvent("Collapsing pane with ID=" + sender.get_id() + ".");
                }, 0);
            }

            function PaneCollapsed(sender,args)
            {
                window.setTimeout(function(){
                    logEvent("Collapsed pane with ID=" + sender.get_id() + ".");
                }, 0);
            }

            function PaneExpanding(sender,args)
            {
                window.setTimeout(function(){
                    logEvent("Expanding pane with ID=" + sender.get_id() + ".");
                }, 0);
            }

            function PaneExpanded(sender,args)
            {
                window.setTimeout(function(){
                    logEvent("Expanded pane with ID=" + sender.get_id() + ".");
                }, 0);
            }

            function PaneResizing(sender,args)
            {
                var resizeDirection = (args.get_resizeDirection() == Telerik.Web.UI.SplitterDirection.Forward ? "forward" : "backward");
                window.setTimeout(function(){
                    logEvent("Resizing " + resizeDirection + " pane with ID=" + sender.get_id() + " with " + args.get_delta() + "px.");
                }, 0);
            }

            function PaneResized(sender,args)
            {
                var id = sender.get_id();
                var logMessage = "";

                var oldWidth = args.get_oldWidth();
                var width = sender.get_width();
                if(oldWidth != width)
                    logMessage += "Changed width of pane with ID=" + id + " from " + oldWidth + "px to " + width + "px.";

                var oldHeight = args.get_oldHeight();
                var height = sender.get_height();
                if(oldHeight != height)
                    logMessage += "Changed height of pane with ID=" + id + " from " + oldHeight + "px to " + height + "px.";

                window.setTimeout(function(){
                    logEvent(logMessage);
                }, 0);
            }
        </script>

        <div class="bigModule" style="margin-bottom: 40px">
            <div class="bigModuleBottom">
                Collapse/Resize the vertical splitter to see how the client-side events are raised.<br />
            </div>
        </div>
        <telerik:RadSplitter ID="OuterSplitter" runat="server" Height="200" Width="750" OnClientLoad="SplitterLoad">
            <telerik:RadPane ID="MainPane" runat="server" Width="300" Scrolling="None" OnClientCollapsing="PaneCollapsing"
                OnClientCollapsed="PaneCollapsed" OnClientResizing="PaneResizing" OnClientExpanding="PaneExpanding"
                OnClientExpanded="PaneExpanded" OnClientResized="PaneResized">
                <telerik:RadSplitter ID="NestedSplitter" runat="server" Orientation="Horizontal"
                    OnClientLoad="SplitterLoad" OnClientResizing="SplitterResizing" OnClientResized="SplitterResized">
                    <telerik:RadPane ID="TopPane" runat="server" OnClientCollapsing="PaneCollapsing"
                        OnClientCollapsed="PaneCollapsed" OnClientResizing="PaneResizing" OnClientExpanding="PaneExpanding"
                        OnClientExpanded="PaneExpanded" OnClientResized="PaneResized">
                        Top Pane
                    </telerik:RadPane>
                    <telerik:RadSplitBar ID="RadSplitbar2" runat="server" CollapseMode="Forward"></telerik:RadSplitBar>
                    <telerik:RadPane ID="BottomPane" runat="server" OnClientCollapsing="PaneCollapsing"
                        OnClientCollapsed="PaneCollapsed" OnClientResizing="PaneResizing" OnClientExpanding="PaneExpanding"
                        OnClientExpanded="PaneExpanded" OnClientResized="PaneResized">
                        Bottom Pane
                    </telerik:RadPane>
                </telerik:RadSplitter>
            </telerik:RadPane>
            <telerik:RadSplitBar ID="RadSplitbar1" runat="server" CollapseMode="Backward"></telerik:RadSplitBar>
            <telerik:RadPane ID="RightPane" runat="server" OnClientExpanding="PaneExpanding"
                OnClientCollapsing="PaneCollapsing" OnClientResizing="PaneResizing" OnClientExpanded="PaneExpanded"
                OnClientCollapsed="PaneCollapsed" OnClientResized="PaneResized">
                Right Pane
            </telerik:RadPane>
        </telerik:RadSplitter>
        <qsf:EventLogConsole ID="EventLogConsole1" runat="server" AllowClear="true" />
        <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-2024 © Telerik. All right reserved
Telerik Inc, 201 Jones Rd, Waltham, MA 02451