Hi,
I have a problem with overlapping floating docks. If I try to open 2 consecutive floating dock in one Layout, second one overwhelm first. But if I move first one with my mouse than second one appears perfectly. How can I provide both appears without client handle...
You may find my adjusted code below.
PS: I'm using latest stable version of ASP.NET AJAX component (Telerik.Web.UI: 2010.3.1317.35)
Thanx.
.aspx part:
.cs part:
I have a problem with overlapping floating docks. If I try to open 2 consecutive floating dock in one Layout, second one overwhelm first. But if I move first one with my mouse than second one appears perfectly. How can I provide both appears without client handle...
You may find my adjusted code below.
PS: I'm using latest stable version of ASP.NET AJAX component (Telerik.Web.UI: 2010.3.1317.35)
Thanx.
.aspx part:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %> <!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></title> <telerik:RadStyleSheetManager id="RadStyleSheetManager1" runat="server" /> </head> <body> <form id="form1" runat="server"> <asp:HiddenField ID="hdnDeneme" runat="server" /> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <Scripts> <%--Needed for JavaScript IntelliSense in VS2010--%> <%--For VS2008 replace RadScriptManager with ScriptManager--%> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </Scripts> </telerik:RadScriptManager> <script type="text/javascript"> var latestDock; function DockCustomCommand(dock, args) { latestDock = dock; var commandElement = args.Command.get_element(); document.getElementById("hdnDeneme").value = dock._index; showMenuAt(args.event, commandElement) } function showMenuAt(e, offsetElement) { var contextMenu = $find("RadContextMenu1"); var bounds = $telerik.getBounds(offsetElement); var x = bounds.x + bounds.width; var y = bounds.y + bounds.height; contextMenu.showAt(x, y); $telerik.cancelRawEvent(e); } </script> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadContextMenu1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadDockLayout1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadSkinManager ID="RadSkinManager1" Runat="server" Skin="Black"> </telerik:RadSkinManager> <telerik:RadDockLayout ID="RadDockLayout1" runat="server"> <telerik:RadDockZone ID="RadDockZone1" runat="server" Height="600px" Width="600px" Orientation="Horizontal"> </telerik:RadDockZone> </telerik:RadDockLayout> <telerik:RadContextMenu ID="RadContextMenu1" runat="server" OnItemClick="RadContextMenu1_ItemClick"> <Items> <telerik:RadMenuItem Text="Change Title" Value="Title" /> <telerik:RadMenuItem Text="Open Floating Dock" Value="FullBox" /> </Items> </telerik:RadContextMenu> </form> </body> </html>.cs part:
using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Configuration; using System.Web.Security; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Telerik.Web.UI; public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { RadDock rd = null; DockCommand dc = new DockCommand() { Name = "Deneme", OnClientCommand = "DockCustomCommand" }; for (int i = 0; i < 12; i++) { rd = new RadDock() { ID = "radDock" + i, EnableAnimation = true, EnableRoundedCorners = true, DockMode = DockMode.Docked, Width = 140, Height = 80, Title = "radDock" + i, Text = "Hi - " + i }; rd.Style.Add(HtmlTextWriterStyle.Margin, "2px"); rd.Commands.Add(dc); RadDockZone1.Controls.Add(rd); } rd.Dispose(); } protected void RadContextMenu1_ItemClick(object sender, RadMenuEventArgs e) { switch (e.Item.Value) { case "FullBox": RadDock rd = new RadDock() { ID = "hdd1", DockMode = DockMode.Floating, EnableAnimation = true, EnableRoundedCorners = true, EnableViewState = false, Width = 200, Title = "Floating", Text = "Floating" }; RadDockLayout1.Controls.Add(rd); rd.Dispose(); break; case "Title": ((RadDock)RadDockZone1.Controls[Convert.ToInt32(hdnDeneme.Value)]).Title = e.Item.Value; break; default: break; } } }