or

| <%@ Page Language="c#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <%@ Reference Control="~/Advanced Library.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 id="Head1" runat="server"> |
| </head> |
| <body class="BODY"> |
| <form id="mainForm" method="post" runat="server"> |
| <asp:ScriptManager ID="ScriptManager1" runat="server"> |
| </asp:ScriptManager> |
| <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder> |
| </form> |
| </body> |
| </html> |
| using System; |
| using System.Collections.Generic; |
| using System.Configuration; |
| using System.Data; |
| using System.Data.Common; |
| using System.Data.SqlClient; |
| using System.Web.UI; |
| public partial class Test : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, System.EventArgs e) |
| { |
| CMS_UserControls_Advanced_Library ctrl = (CMS_UserControls_Advanced_Library)Page.LoadControl("~/Advanced Library.ascx"); |
| PlaceHolder1.Controls.Add(ctrl); |
| } |
| } |
| <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Advanced Library.ascx.cs" |
| Inherits="CMS_UserControls_Advanced_Library" ClassName="CMS_UserControls_Advanced_Library" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" /> |
| <telerik:RadAjaxManager runat="server" ID="radAjax" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="grdPendingOrders"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="grdPendingOrders" /> |
| <telerik:AjaxUpdatedControl ControlID="grdShippedOrders" /> |
| <telerik:AjaxUpdatedControl ControlID="msg" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="grdShippedOrders"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="grdShippedOrders" /> |
| <telerik:AjaxUpdatedControl ControlID="msg" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadScriptBlock runat="server" ID="scriptBlock"> |
| <script type="text/javascript"> |
| <!-- |
| function onRowDropping(sender, args) { |
| if (sender.get_id() == "<%=grdPendingOrders.ClientID %>") { |
| var node = args.get_destinationHtmlElement(); |
| if (!isChildOf('<%=grdShippedOrders.ClientID %>', node) && !isChildOf('<%=grdPendingOrders.ClientID %>', node)) { |
| args.set_cancel(true); |
| } |
| } |
| else { |
| var node = args.get_destinationHtmlElement(); |
| if (!isChildOf('trashCan', node)) { |
| args.set_cancel(true); |
| } |
| else { |
| if (confirm("Are you sure you want to delete this order?")) |
| args.set_destinationHtmlElement($get('trashCan')); |
| else |
| args.set_cancel(true); |
| } |
| } |
| } |
| function isChildOf(parentId, element) { |
| while (element) { |
| if (element.id && element.id.indexOf(parentId) > -1) { |
| return true; |
| } |
| elementelement = element.parentNode; |
| } |
| return false; |
| } |
| --> |
| </script> |
| </telerik:RadScriptBlock> |
| <div class="exWrap"> |
| <div style="float: left; padding: 0 6px 0 10px"> |
| <h2 style="color: #9c3608"> |
| Pending Orders</h2> |
| <telerik:RadGrid runat="server" ID="grdPendingOrders" OnNeedDataSource="grdPendingOrders_NeedDataSource" |
| AllowPaging="True" Width="350px" OnRowDrop="grdPendingOrders_RowDrop" AllowMultiRowSelection="true" |
| PageSize="30"> |
| <MasterTableView DataKeyNames="OrderId" Width="95%" TableLayout="Fixed"> |
| </MasterTableView> |
| <ClientSettings AllowRowsDragDrop="True"> |
| <Selecting AllowRowSelect="True" EnableDragToSelectRows="true" /> |
| <ClientEvents OnRowDropping="onRowDropping" /> |
| <Scrolling AllowScroll="true" UseStaticHeaders="true" /> |
| </ClientSettings> |
| <PagerStyle Mode="NextPrevAndNumeric" /> |
| </telerik:RadGrid> |
| </div> |
| <div style="float: right; padding: 0 10px 0 6px"> |
| <h2 style="color: #3c8b04"> |
| Shipped Orders</h2> |
| <telerik:RadGrid runat="server" AllowPaging="True" ID="grdShippedOrders" OnNeedDataSource="grdShippedOrders_NeedDataSource" |
| Width="350px" OnRowDrop="grdShippedOrders_RowDrop" AllowMultiRowSelection="true"> |
| <MasterTableView DataKeyNames="OrderId" Width="100%"> |
| <NoRecordsTemplate> |
| <div style="height: 30px; cursor: pointer;"> |
| No items to view</div> |
| </NoRecordsTemplate> |
| </MasterTableView> |
| <ClientSettings AllowRowsDragDrop="True"> |
| <Selecting AllowRowSelect="True" EnableDragToSelectRows="true" /> |
| <ClientEvents OnRowDropping="onRowDropping" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| </div> |
| <div style="clear: both;"> |
| <!-- --> |
| </div> |
| <div class="exFooter"> |
| <a id="trashCan" href="#" onclick="return false;">Recycle Bin</a> |
| <div class="exMessage" runat="server" id="msg" visible="false" enableviewstate="false"> |
| Order(s) successfully deleted! |
| </div> |
| </div> |
| <br /> |
| </div> |
| using System; |
| using System.Collections; |
| using System.Configuration; |
| using System.Data; |
| using System.Linq; |
| using System.Web; |
| using System.Web.Security; |
| using System.Web.UI; |
| using System.Web.UI.HtmlControls; |
| using System.Web.UI.WebControls; |
| using System.Web.UI.WebControls.WebParts; |
| using System.Xml.Linq; |
| using System.Collections.Generic; |
| using Telerik.Web.UI; |
| public partial class CMS_UserControls_Advanced_Library : System.Web.UI.UserControl |
| { |
| protected IList<Order> PendingOrders |
| { |
| get |
| { |
| try |
| { |
| object obj = Session["PendingOrders"]; |
| if (obj == null) |
| { |
| obj = GetOrders(); |
| if (obj != null) |
| { |
| Session["PendingOrders"] = obj; |
| } |
| else |
| { |
| obj = new List<Order>(); |
| } |
| } |
| return (IList<Order>)obj; |
| } |
| catch |
| { |
| Session["PendingOrders"] = null; |
| } |
| return new List<Order>(); |
| } |
| set { Session["PendingOrders"] = value; } |
| } |
| protected IList<Order> ShippedOrders |
| { |
| get |
| { |
| try |
| { |
| object obj = Session["ShippedOrders"]; |
| if (obj == null) |
| { |
| Session["ShippedOrders"] = obj = new List<Order>(); |
| } |
| return (IList<Order>)obj; |
| } |
| catch |
| { |
| Session["ShippedOrders"] = null; |
| } |
| return new List<Order>(); |
| } |
| set { Session["ShippedOrders"] = value; } |
| } |
| protected void grdPendingOrders_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
| { |
| grdPendingOrders.DataSource = PendingOrders; |
| } |
| protected IList<Order> GetOrders() |
| { |
| IList<Order> results = new List<Order>(); |
| results.Add(new Order(1, "A", "B", "C")); |
| results.Add(new Order(2, "A", "B", "C")); |
| results.Add(new Order(3, "A", "B", "C")); |
| results.Add(new Order(4, "A", "B", "C")); |
| results.Add(new Order(5, "A", "B", "C")); |
| results.Add(new Order(6, "A", "B", "C")); |
| results.Add(new Order(7, "A", "B", "C")); |
| results.Add(new Order(8, "A", "B", "C")); |
| results.Add(new Order(9, "A", "B", "C")); |
| results.Add(new Order(10, "A", "B", "C")); |
| results.Add(new Order(11, "A", "B", "C")); |
| return results; |
| } |
| protected void grdShippedOrders_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
| { |
| grdShippedOrders.DataSource = ShippedOrders; |
| } |
| protected void grdPendingOrders_RowDrop(object sender, GridDragDropEventArgs e) |
| { |
| if (string.IsNullOrEmpty(e.HtmlElement)) |
| { |
| if (e.DraggedItems[0].OwnerGridID == grdPendingOrders.ClientID) |
| { |
| // items are drag from pending to shipped grid |
| if ((e.DestDataItem == null && ShippedOrders.Count == 0) || |
| e.DestDataItem != null && e.DestDataItem.OwnerGridID == grdShippedOrders.ClientID) |
| { |
| IList<Order> shippedOrders = ShippedOrders; |
| IList<Order> pendingOrders = PendingOrders; |
| int destinationIndex = -1; |
| if (e.DestDataItem != null) |
| { |
| Order order = GetOrder(shippedOrders, (int)e.DestDataItem.GetDataKeyValue("OrderId")); |
| destinationIndex = (order != null) ? shippedOrders.IndexOf(order) : -1; |
| } |
| foreach (GridDataItem draggedItem in e.DraggedItems) |
| { |
| Order tmpOrder = GetOrder(pendingOrders, (int)draggedItem.GetDataKeyValue("OrderId")); |
| if (tmpOrder != null) |
| { |
| if (destinationIndex > -1) |
| { |
| shippedOrders.Insert(destinationIndex, tmpOrder); |
| } |
| else |
| { |
| shippedOrders.Add(tmpOrder); |
| } |
| pendingOrders.Remove(tmpOrder); |
| } |
| } |
| ShippedOrders = shippedOrders; |
| PendingOrders = pendingOrders; |
| grdPendingOrders.Rebind(); |
| grdShippedOrders.Rebind(); |
| } |
| else if (e.DestDataItem != null && e.DestDataItem.OwnerGridID == grdPendingOrders.ClientID) |
| { |
| //reorder items in pending grid |
| IList<Order> pendingOrders = PendingOrders; |
| Order order = GetOrder(pendingOrders, (int)e.DestDataItem.GetDataKeyValue("OrderId")); |
| int destinationIndex = pendingOrders.IndexOf(order); |
| if (e.DropPosition == GridItemDropPosition.Above && e.DestDataItem.ItemIndex > e.DraggedItems[0].ItemIndex) |
| { |
| destinationIndex -= 1; |
| } |
| if (e.DropPosition == GridItemDropPosition.Below && e.DestDataItem.ItemIndex < e.DraggedItems[0].ItemIndex) |
| { |
| destinationIndex += 1; |
| } |
| List<Order> ordersToMove = new List<Order>(); |
| foreach (GridDataItem draggedItem in e.DraggedItems) |
| { |
| Order tmpOrder = GetOrder(pendingOrders, (int)draggedItem.GetDataKeyValue("OrderId")); |
| if (tmpOrder != null) |
| ordersToMove.Add(tmpOrder); |
| } |
| foreach (Order orderToMove in ordersToMove) |
| { |
| pendingOrders.Remove(orderToMove); |
| pendingOrders.Insert(destinationIndex, orderToMove); |
| } |
| PendingOrders = pendingOrders; |
| grdPendingOrders.Rebind(); |
| e.DestDataItem.Selected = true; |
| } |
| } |
| } |
| } |
| private static Order GetOrder(IEnumerable<Order> ordersToSearchIn, int orderId) |
| { |
| foreach (Order order in ordersToSearchIn) |
| { |
| if (order.OrderID == orderId) |
| { |
| return order; |
| } |
| } |
| return null; |
| } |
| protected void grdShippedOrders_RowDrop(object sender, GridDragDropEventArgs e) |
| { |
| if (!string.IsNullOrEmpty(e.HtmlElement) && e.HtmlElement == "trashCan") |
| { |
| IList<Order> shippedOrders = ShippedOrders; |
| bool deleted = false; |
| foreach (GridDataItem draggedItem in e.DraggedItems) |
| { |
| Order tmpOrder = GetOrder(shippedOrders, (int)draggedItem.GetDataKeyValue("OrderId")); |
| if (tmpOrder != null) |
| { |
| shippedOrders.Remove(tmpOrder); |
| deleted = true; |
| } |
| } |
| if (deleted) |
| { |
| msg.Visible = true; |
| } |
| ShippedOrders = shippedOrders; |
| grdShippedOrders.Rebind(); |
| } |
| } |
| #region Nested type: Order |
| protected class Order |
| { |
| private string _companyName; |
| private string _customerId; |
| private int _orderId; |
| private string _date; |
| public Order(int orderId, string customerId, string companyName, string requiredDate) |
| { |
| _orderId = orderId; |
| _customerId = customerId; |
| _companyName = companyName; |
| _date = requiredDate; |
| } |
| public int OrderID |
| { |
| get { return _orderId; } |
| } |
| public string CustomerID |
| { |
| get { return _customerId; } |
| } |
| public string Company |
| { |
| get { return _companyName; } |
| } |
| public string Date |
| { |
| get { return _date; } |
| } |
| } |
| #endregion |
| } |
| <style> |
| .edittable tr td {background-color:#ffffff;} |
| </style> |
| <table class="edittable"> |
| <tr> |
| <td> |
| <telerik:RadGrid Skin="Default" ... ></telerik:RadGrid> |
| </td> |
| </tr> |
| </table> |

| <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Master1.master.cs" Inherits="Master1" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <head runat="server"> |
| <title>Untitled Page</title> |
| </head> |
| <body scroll="no"> |
| <form id="form1" runat="server"> |
| <div> |
| <asp:ScriptManager ID="ScriptManager1" runat="server"> |
| </asp:ScriptManager> |
| <telerik:RadSplitter ID="RadSplitter1" runat="server" FullScreenMode="True" Height="100%" |
| Orientation="Horizontal" Skin="Blue" Width="100%"> |
| <telerik:RadPane ID="TopPane" runat="server" EnableEmbeddedSkins="False" |
| Index="0" Scrolling="None" Width="100%" Height="50px"> |
| </telerik:RadPane> |
| <telerik:RadPane ID="MainPane" runat="server" EnableEmbeddedSkins="False" Height="" |
| Index="1" Scrolling="None" Width=""> |
| <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> |
| </asp:ContentPlaceHolder> |
| </telerik:RadPane> |
| <telerik:RadPane ID="FooterPane" runat="server" Height="20px"> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </div> |
| </form> |
| </body> |
| </html> |
| <%@ Page Language="C#" MasterPageFile="~/Master1.master" AutoEventWireup="true" CodeFile="page linked to master1.aspx.cs" |
| Inherits="Default2" Title="Untitled Page" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <%@ Register Assembly="RadTreeView.Net2" Namespace="Telerik.WebControls" TagPrefix="radT" %> |
| <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> |
| <telerik:RadSplitter ID="RadSplitter2" runat="server" Height="100%" items-capacity="4" |
| Skin="Blue" SplitBarsSize="" Width="100%"> |
| <telerik:RadPane ID="NavigationPane" runat="server" EnableEmbeddedSkins="False" Height="" |
| Index="0" Width="20%"> |
| <div> |
| <radT:RadTreeView ID="RadTreeView1" runat="server" AutoPostBack="true" OnNodeClick="RadTreeView1_OnNodeClick"> |
| <Nodes> |
| <radT:RadTreeNode Text="one"> |
| </radT:RadTreeNode> |
| <radT:RadTreeNode Text="two"> |
| </radT:RadTreeNode> |
| </Nodes> |
| </radT:RadTreeView> |
| </div> |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="RadSplitBar2" runat="server" EnableEmbeddedSkins="False" |
| Index="1" /> |
| <telerik:RadPane ID="ContentPane" runat="server" EnableEmbeddedSkins="False" Height="" |
| Index="2" Scrolling="None" Width=""> |
| <div> |
| <div id="divTest" runat="server"> |
| </div> |
| </div> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadTreeView1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="divTest" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| </asp:Content> |
| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxmanager.aspx.cs" Inherits="ajaxmanager" %> |
| <%@ Register Assembly="RadAjax.Net2" Namespace="Telerik.WebControls" TagPrefix="radA" %> |
| <%@ Register Assembly="RadTreeView.Net2" Namespace="Telerik.WebControls" TagPrefix="radT" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <head runat="server"> |
| <title>Untitled Page</title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <asp:ScriptManager ID="ScriptManager1" runat="server"> |
| </asp:ScriptManager> |
| <div> |
| <telerik:radsplitter id="RadSplitter2" runat="server" height="100%" items-capacity="4" |
| skin="Blue" splitbarssize="" width="100%"> |
| <telerik:RadPane ID="NavigationPane" runat="server" EnableEmbeddedSkins="False" Height="" |
| Index="0" Width="20%"> |
| <div> |
| <radT:RadTreeView ID="RadTreeView1" runat="server" AutoPostBack="true" OnNodeClick="RadTreeView1_OnNodeClick"> |
| <Nodes> |
| <radT:RadTreeNode Text="one"> |
| </radT:RadTreeNode> |
| <radT:RadTreeNode Text="two"> |
| </radT:RadTreeNode> |
| </Nodes> |
| </radT:RadTreeView> |
| </div> |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="RadSplitBar2" runat="server" EnableEmbeddedSkins="False" |
| Index="1" /> |
| <telerik:RadPane ID="ContentPane" runat="server" EnableEmbeddedSkins="False" Height="" |
| Index="2" Scrolling="None" Width=""> |
| <div> |
| <div id="divTest" runat="server"> |
| </div> |
| </div> |
| </telerik:RadPane> |
| </telerik:radsplitter> |
| </div> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadTreeView1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="divTest" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| </form> |
| </body> |
| </html> |
| With myDataSource |
| .ConnectionString = dataConnectionString |
| .SelectCommand = "usp_GRID_Maintenance" |
| .SelectCommandType = SqlDataSourceCommandType.StoredProcedure |
| .SelectParameters.Clear() |
| .SelectParameters.Add("Start", System.TypeCode.String, FormatDateTime(dtpLower.SelectedDate, DateFormat.ShortDate)) |
| .SelectParameters.Add("End", System.TypeCode.String, FormatDateTime(dtpUpper.SelectedDate, DateFormat.ShortDate)) |
| .SelectParameters.Add("option", System.TypeCode.Boolean, optRenewal.Checked) |
| End With |
