or
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadListBoxADGroups"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadListBoxGroups" /> <telerik:AjaxUpdatedControl ControlID="LabelMessage" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadListBoxGroups"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="LabelMessage" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadComboBoxPolice"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadListBoxGroups" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <table> <tr> <td> <telerik:RadListBox ID="RadListBoxADGroups" runat="server" AllowTransfer="True" DataSourceID="ObjectDataSourceADGroup" DataTextField="Name" Height="300px" Width="300px" TransferToID="RadListBoxGroups" EmptyMessage="Active Directory is missing" AutoPostBackOnTransfer="True" OnTransferred="RadListBoxADGroupsTransferred" EnableDragAndDrop="True" TransferMode="Copy"> <ButtonSettings TransferButtons="TransferFrom" Position="Right" VerticalAlign="Top" AreaWidth="40" /> </telerik:RadListBox> <asp:ObjectDataSource ID="ObjectDataSourceADGroup" runat="server" SelectMethod="SelectADGroups" TypeName="Scheduler.WebClient.ADGroup"></asp:ObjectDataSource> </td> <td> <telerik:RadListBox ID="RadListBoxGroups" runat="server" EmptyMessage="No Sorted Groups" Style="top: 0px; left: 0px; width: 250px; height: 300px" Height="300px" AutoPostBackOnDelete="True" DataKeyField="GroupPoliceId" DataSourceID="ObjectDataSourceFiltGroups" DataTextField="Name" DataValueField="Id" OnDeleted="RadListBoxGroupsDeleted" AllowDelete="True" OnClientDeleting="RadListBoxGroups_Deleting"> <ButtonSettings Position="Right" VerticalAlign="Top" AreaWidth="40" /> </telerik:RadListBox> <asp:ObjectDataSource ID="ObjectDataSourceFiltGroups" runat="server" SelectMethod="SelectFilteredGroups" TypeName="Scheduler.WebClient.Controller"> <SelectParameters> <asp:ControlParameter ControlID="RadComboBoxPolice" Name="politicId" PropertyName="SelectedValue" Type="Int32" /> <asp:ControlParameter ControlID="LabelOwnGName" Name="ownGName" PropertyName="Text" Type="String" /> </SelectParameters> </asp:ObjectDataSource> </td> </tr> <tr> <td> <asp:Label ID="LabelOwnGName" runat="server" /> <asp:ObjectDataSource ID="ObjectDataSourceGrPolices" runat="server" SelectMethod="SelectGroupPolices" TypeName="Scheduler.WebClient.Controller"></asp:ObjectDataSource> </td> <td> <telerik:RadComboBox ID="RadComboBoxPolice" runat="server" DataSourceID="ObjectDataSourceGrPolices" DataTextField="Name" DataValueField="Id" AutoPostBack="True" Width="100px"> </telerik:RadComboBox> </td> </tr> </table> </div> <br /> <div class="field-center-error"> <asp:Label ID="LabelMessage" runat="server" ClientIDMode="Static" /> </div>protected void RadListBoxADGroupsTransferred(object sender, Telerik.Web.UI.RadListBoxTransferredEventArgs e){ if (e.DestinationListBox != sender) { foreach (var grpIns in e.Items.Select(item => new Group { Name = item.Text, GroupPoliceId = Convert.ToInt32(RadComboBoxPolice.SelectedValue) }) ) { _sc.InsertGroup(grpIns); } LabelMessage.Text = Controller.Message; RadListBoxGroups.DataBind(); }}protected void RadListBoxGroupsDeleted(object sender, Telerik.Web.UI.RadListBoxEventArgs e){ foreach (var grpDel in e.Items.Select(item => new Group { Id = Convert.ToInt32(item.Value), Name = item.Text })) { _sc.DeleteGroup(grpDel); } LabelMessage.Text = Controller.Message; RadListBoxGroups.DataBind();}<div id="main" class='column last span-19'> <telerik:RadDockLayout ID="rdlSliders" runat="server" OnSaveDockLayout="rdlSliders_SaveDockLayout" OnLoadDockLayout="rdlSliders_LoadDockLayout"> <telerik:RadSplitter ID="RadSplitter1" runat="server" Width="1252" OnClientLoaded="splitterLoaded" Height="100%"> <telerik:RadPane ID="LeftPane" runat="server" Width="22" Scrolling="None" Height="100%"> <telerik:RadSlidingZone ID="SlidingZone1" runat="server" Width="22" Height="100%"> <telerik:RadSlidingPane ID="rspDefault1" Title="Landing Area" runat="server" Width="300px" OnClientResized="resizepane" OnClientExpanded="resizepane"> <telerik:RadDockZone ID="rdzCapacity" runat="server" Width="290px" UniqueName="Capacity" Height="100%"> </telerik:RadDockZone> </telerik:RadSlidingPane> </telerik:RadSlidingZone> </telerik:RadPane> <telerik:RadSplitBar ID="RadSplitbar1" runat="server"></telerik:RadSplitBar> <telerik:RadPane ID="MainPane" runat="server" Height="100%"> <telerik:RadMultiPage ID="RadMultiPage1" runat="server" Width="99%" SelectedIndex="0" Height="100%"> </telerik:RadMultiPage> </telerik:RadPane> </telerik:RadSplitter> </telerik:RadDockLayout></div>$(document).ready(function () { var windowheight = $(window).height(); $("RadSplitter1").height((windowheight - 136)); $("#SlidingZone1").height((windowheight - 136)); $("#MainPane").height((windowheight - 136)); $("#rspDefault1").height((windowheight - 136));});

<telerik:RadGrid ID="grdLabs" runat="server" Skin="grid" EnableEmbeddedSkins="False" SelectedItemStyle-CssClass="SelectedStyle" AllowMultiRowSelection="True" AllowSorting="False" CellSpacing="0" GridLines="None" AllowPaging="false" AutoGenerateColumns="False" GroupingEnabled="True" Height="100%" Width="100%" EnableAJAX="false"> <MasterTableView ShowHeadersWhenNoRecords="True" GroupLoadMode="Client" TableLayout="Auto"> <GroupHeaderTemplate> <span style="font-weight: bold;"> <%# Eval("CategoryType")%></span> </GroupHeaderTemplate> <GroupByExpressions> <telerik:GridGroupByExpression> <SelectFields> <telerik:GridGroupByField FieldName="CategoryType" HeaderText="" /> </SelectFields> <GroupByFields> <telerik:GridGroupByField FieldName="CategorySeq" HeaderText="" /> </GroupByFields> </telerik:GridGroupByExpression> </GroupByExpressions> <NoRecordsTemplate> No results </NoRecordsTemplate> </MasterTableView> <ClientSettings Resizing-AllowColumnResize="False" Resizing-ResizeGridOnColumnResize="False" AllowGroupExpandCollapse="True" AllowExpandCollapse="False"> <Selecting AllowRowSelect="True" EnableDragToSelectRows="False"></Selecting> <Scrolling AllowScroll="True" UseStaticHeaders="False" SaveScrollPosition="True" FrozenColumnsCount="0"/> </ClientSettings> <GroupingSettings ShowUnGroupButton="true" /> <PagerStyle Mode="NumericPages" Position="Top" PagerTextFormat="{4} Page {0} of {1}, results {2} to {3} of {5}." /> </telerik:RadGrid>
Imports System.Web.UI.WebControlsImports Telerik.Web.UI<ParseChildren(True, "MenuItems")>Public Class SplitButton Inherits WebControl Private _MenuItems As New List(Of MenuItem) Private _Button As RadButton Private _ContextMenu As RadContextMenu Public Property MenuItems() As List(Of MenuItem) Get Return _MenuItems End Get Set(ByVal value As List(Of MenuItem)) _MenuItems = value End Set End Property Public Property Text As String Public Property IconUrl As String Private Sub BuildContextMenu() _ContextMenu = New RadContextMenu() With {.ID = String.Format("{0}_Menu", Me.ID)} Me.Controls.Add(_ContextMenu) Dim x As New List(Of RadMenuItem) For Each item As MenuItem In MenuItems Dim menuItem As New RadMenuItem() With {.Text = item.Text, .Value = item.Value, .Visible = item.Visible, .ImageUrl = item.IconUrl, .PostBack = item.PostBack} x.Add(menuItem) Next _ContextMenu.Items.AddRange(x) End Sub Private Sub BuildButton() _Button = New RadButton() With {.ID = String.Format("{0}_Button", Me.ID)} _Button.OnClientClicked = "SplitButton_OnClientClicked" _Button.Attributes.Add("data-contextmenu", _ContextMenu.ClientID) _Button.Text = Text _Button.Icon.PrimaryIconUrl = IconUrl _Button.EnableSplitButton = True Me.Controls.Add(_Button) End Sub Private Sub SplitButton_Init(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Init BuildContextMenu() End Sub Private Sub SplitButton_PreRender(ByVal Sender As Object, ByVal e As EventArgs) Handles Me.PreRender BuildButton() End SubEnd ClassPublic Class MenuItem Public Property IconUrl As String Public Property Text As String Public Property Value As String Public Property PostBack As Boolean Public Property Visible As BooleanEnd Class<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="Grid_SplitButtonDemo.WebForm1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@ Register Assembly="GridSplitButtonDemo" Namespace="Grid_SplitButtonDemo" TagPrefix="a" %><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>SplitButton Demo</title> <script type="text/javascript"> function SplitButton_OnClientClicked(sender, args) { //Check if we clicked the splitbutton portion, or the button portion if (args.IsSplitButtonClick()) { //Show the context menu below the selected button. var currentLocation = $telerik.getLocation(sender.get_element()); var contextMenu = $find(sender.get_element().getAttribute('data-contextmenu')); //alert(contextMenu.get_items().get_count()); contextMenu.showAt(currentLocation.x, currentLocation.y + 22); //Prevent postback. sender.set_autoPostBack(false); } else { //Button portion clicked, Perform the default action. alert("Perform Default Action"); sender.set_autoPostBack(true); } } </script></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <h2> SplitButton Demo </h2> <div> <a:SplitButton runat="server" ID="btnActions" Text="Edit" IconUrl="Images/pencil.png"> <a:MenuItem IconUrl="Images/Remove.png" Text="Delete" Value="Delete" PostBack="false" /> <a:MenuItem IconUrl="Images/wand.png" Text="Add Another" Value="NewAnother" /> </a:SplitButton> </div> </form></body></html>