| <telerik:RadMenu ID="RadMenu1" Runat="server" Skin="" EnableSelection="true" > |
| <Items> |
| <telerik:RadMenuItem runat="server" |
| NavigateUrl="~/Test.aspx" |
| ImageUrl="~/images/NotSelected.png" |
| HoveredImageUrl="~/images/Selected.png" |
| SelectedImageUrl="~/images/Selected.png" |
| Selected="true" |
| /> |
| </Items> |
| </telerik:RadMenu> |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <head runat="server"> |
| <title></title> |
| <style type="text/css"> |
| .rtsImg |
| { |
| margin: 2px 4px 0 0 !important; |
| } |
| .restrictionZone |
| { |
| width: 100%; |
| height:100%; |
| } |
| .taskbar |
| { |
| display: block; |
| float: left; |
| } |
| div.RadTabStrip .rtsLevel { |
| width: auto; |
| } |
| </style> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" Runat="server"> |
| </telerik:RadScriptManager> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" |
| Skin="Default"> |
| </telerik:RadAjaxLoadingPanel> |
| <table width="100%" style="height: 100%"> |
| <tr> |
| <td> |
| </td> |
| <td> |
| </td> |
| <td> |
| </td> |
| <td> |
| </td> |
| <td> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="5" style="height: 100%"> |
| <telerik:RadSplitter ID="RadSplitter1" runat="server" Height="100%" Width ="100%" Orientation="Vertical"> |
| <telerik:RadPane ID="radRightPane" runat="server" Width="22%" Height="100%"> |
| <telerik:RadPanelBar ID="RadPanelBar1" runat="server" BorderStyle="None" |
| ExpandMode="FullExpandedItem" Height="100%" |
| OnClientItemClicking="openNewWindow"><Items><telerik:RadPanelItem |
| Expanded="True" Text="Mail"><Items><telerik:RadPanelItem |
| ImageUrl="Img/mailPersonalFolders.gif" Text="Personal Folders" |
| Value="http://www.google.com" /><telerik:RadPanelItem |
| ImageUrl="Img/mailDeletedItems.gif" Text="Deleted Items" |
| Value="http://www.google.com" /><telerik:RadPanelItem |
| ImageUrl="Img/mailInbox.gif" Text="Inbox" Value="http://www.google.com" /><telerik:RadPanelItem |
| ImageUrl="Img/mailFolder.gif" Text="My Mail" Value="http://www.google.com" /><telerik:RadPanelItem |
| ImageUrl="Img/mailSent.gif" Text="Sent Items" Value="http://www.google.com" /><telerik:RadPanelItem |
| ImageUrl="Img/mailOutbox.gif" Text="Outbox" Value="http://www.google.com" /><telerik:RadPanelItem |
| ImageUrl="Img/mailSearch.gif" Text="Search Folders" |
| Value="http://www.google.com" /> |
| </Items> |
| </telerik:RadPanelItem><telerik:RadPanelItem Text="Calendar"><Items><telerik:RadPanelItem><ItemTemplate><telerik:RadCalendar |
| ID="Calendar1" runat="server" Style="margin: 6px auto 0" /> |
| </ItemTemplate> |
| </telerik:RadPanelItem> |
| </Items> |
| </telerik:RadPanelItem><telerik:RadPanelItem Text="Contacts"><Items><telerik:RadPanelItem |
| ImageUrl="Img/contactsItems.gif" Text="My Contacts" /><telerik:RadPanelItem |
| ImageUrl="Img/contactsItems.gif" Text="Address Cards" /><telerik:RadPanelItem |
| ImageUrl="Img/contactsItems.gif" Text="Phone List" /><telerik:RadPanelItem |
| ImageUrl="Img/contactsItems.gif" Text="Shared Contacts" /> |
| </Items> |
| </telerik:RadPanelItem><telerik:RadPanelItem Text="Tasks"><Items><telerik:RadPanelItem |
| ImageUrl="Img/tasksItems.gif" Text="My Tasks" /><telerik:RadPanelItem |
| ImageUrl="Img/tasksItems.gif" Text="Shared Tasks" /><telerik:RadPanelItem |
| ImageUrl="Img/tasksItems.gif" Text="Active Tasks" /><telerik:RadPanelItem |
| ImageUrl="Img/tasksItems.gif" Text="Completed Tasks" /> |
| </Items> |
| </telerik:RadPanelItem><telerik:RadPanelItem Text="Notes"><Items><telerik:RadPanelItem |
| ImageUrl="Img/notesItems.gif" Text="My Notes" /><telerik:RadPanelItem |
| ImageUrl="Img/notesItems.gif" Text="Notes List" /><telerik:RadPanelItem |
| ImageUrl="Img/notesItems.gif" Text="Shared Notes" /><telerik:RadPanelItem |
| ImageUrl="Img/notesItems.gif" Text="Archive" /> |
| </Items> |
| </telerik:RadPanelItem><telerik:RadPanelItem Text="Folders List"><Items><telerik:RadPanelItem |
| ImageUrl="Img/mailOutbox.gif" Text="My Client.Net" /><telerik:RadPanelItem |
| ImageUrl="Img/mailOutbox.gif" Text="My Profile" /><telerik:RadPanelItem |
| ImageUrl="Img/mailOutbox.gif" Text="My Support Tickets" /><telerik:RadPanelItem |
| ImageUrl="Img/mailOutbox.gif" Text="My Licenses" /> |
| </Items> |
| </telerik:RadPanelItem> |
| </Items> |
| </telerik:RadPanelBar> |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="RadSplitBar1" runat="server" CollapseMode="Forward" > |
| </telerik:RadSplitBar> |
| <telerik:RadPane ID="radLeftPane" runat="server" Width="78%"> |
| <telerik:RadTabStrip ID="RadTabStrip1" runat="server" |
| OnClientTabSelected="OnClientTabSelected" Orientation="HorizontalBottom" |
| ScrollButtonsPosition="Middle" ScrollChildren="True" SelectedIndex="0" |
| Skin="Web20" Width="100%"><tabs><telerik:RadTab Selected="True" |
| Style="display: none;" /></tabs></telerik:RadTabStrip> |
| <telerik:RadWindowManager ID="RadWindowManager" runat="server" |
| Behaviors="Close,Maximize,Minimize,Move,Reload,Resize" |
| KeepInScreenBounds="True" OnClientActivate="OnClientActivate" |
| OnClientClose="OnClientClose" OnClientCommand="OnClientCommand" |
| RestrictionZoneID="radLeftPane" ShowOnTopWhenMaximized="true" Skin="Web20"> |
| </telerik:RadWindowManager> |
| <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> |
| <script type="text/javascript"> |
| // <![CDATA[ |
| var manager = null; |
| var tabStrip = null; |
| function pageLoad() { |
| //get a reference to the needed controls - |
| manager = $find("<%=RadWindowManager.ClientID %>"); |
| manager = radopen("http://www.google.com", null); |
| tabStrip = $find("<%=RadTabStrip1.ClientID %>"); |
| } |
| //opening the window |
| function openNewWindow(sender, args) { |
| var item = args.get_item(); |
| var itemUrl = item.get_value(); |
| var itemText = item.get_text(); |
| if (itemUrl) { |
| var windowURL = itemUrl; |
| var oWnd = radopen(itemUrl, null); |
| oWnd.set_title(itemText); |
| oWnd.center(); |
| tabStrip.trackChanges(); |
| //create a new tab |
| var tab = new Telerik.Web.UI.RadTab(); |
| //set the text of the tab |
| tab.set_text(itemText); |
| oWnd.correspondingTab = tab; |
| //add the tab to the tabstrip |
| tabStrip.get_tabs().add(tab); |
| tabStrip.repaint(); |
| tab.correspondingWnd = oWnd; |
| tab.set_imageUrl(item.get_imageUrl()); |
| tabStrip.commitChanges(); |
| //Select this tab |
| tab.select(); |
| } |
| } |
| function OnClientCommand(sender, args) { |
| //because we don't want to show the minimized RadWindow, we hide it after minimizing |
| //and raise the _Maximized flag (used in OnClientTabSelected) |
| if (args.get_commandName() == "Minimize") { |
| if (sender.isMaximized()) { |
| sender._Maximized = true; |
| } |
| sender.hide(); |
| //raise the _toMinimize flag (used in OnClientActivate) |
| sender._toMinimize = true; |
| var tab = sender.correspondingTab; |
| if (tab) { |
| tab.set_selected(false); |
| } |
| } |
| } |
| function OnClientTabSelected(sender, args) { |
| //get a reference to the corresponding window |
| var win = args.get_tab().correspondingWnd; |
| if (!win) return; |
| if (!win.isVisible()) { |
| win.show(); |
| win.restore(); |
| //if the window was maximized before client minimizes it, we need to restore |
| //its maximized state |
| if (win._Maximized) { |
| win.maximize(); |
| win._Maximized = null; |
| } |
| } |
| //ensure that the currently active RadWindow will have the highest z-Index. |
| var popupElem = win.get_popupElement(); |
| var oldZindex = parseInt(popupElem.style.zIndex); |
| var styleZIndex = win.get_stylezindex(); |
| var newZIndex = (styleZIndex) ? styleZIndex : Telerik.Web.UI.RadWindowUtils.get_newZindex(oldZindex); |
| popupElem.style.zIndex = "" + newZIndex; |
| win.setActive(true); |
| } |
| function OnClientActivate(sender, args) { |
| var tab = sender.correspondingTab; |
| if (tab && !sender._toMinimize) { |
| tab.set_selected(true); |
| } |
| sender._toMinimize = false; |
| } |
| function OnClientClose(oWnd) { |
| //remove the corresponding tab from the tabstrip |
| var tab = oWnd.correspondingTab; |
| if (tab) { |
| tabStrip.trackChanges(); |
| tabStrip.get_tabs().remove(tab); |
| tabStrip.commitChanges(); |
| } |
| } |
| // ]]> |
| </script> |
| </telerik:RadCodeBlock> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| </td> |
| <td> |
| </td> |
| <td> |
| </td> |
| <td> |
| </td> |
| <td> |
| </td> |
| </tr> |
| </table> |
| </form> |
| </body> |
| </html> |
RestrictionZoneID ="R",
I open a radwindow "G" under the radwindowmanager in the home page. then I clicked the button inside radwindow "G" to open multiple radwindows "W" in designed positions respectively.
everything looks good except for one issue, when I use the method to get the moveto positions, I have to minus the restriction. for example:
position = positionInfo( listPosition.left + col * width + width,listPosition.top + row * height - restriction);
// calcuate the moveto position,
which could cause probelms
1. if I minus the restriction, the radwinow"W" will be opened at the right position. but when the radwindow "G" is close to the top, I minus the restriction, the position.top <0 and thus radwindow "W" will be positioned in wrong position
2.if I do not minus the restriction.the radwindows"w" will be opened at a lower position with the difference of restriction. when the radwindow"G" is close to bottom, the position.top is beyond the bottom line and thus radwindow "W" will be positioned in wrong position.
How to avoid the restriction side effect?
Thanks a lot

| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="toolbarAndDropDown.aspx.cs" |
| Inherits="toolbarAndDropDown" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <!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> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="IncidentEditorScriptManager1" runat="server"> |
| <Scripts> |
| <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" /> |
| </Scripts> |
| </telerik:RadScriptManager> |
| <telerik:RadCodeBlock ID="IncidentEditorCodeBlock1" runat="server"> |
| <script type="text/javascript"> |
| function DateTimePickerClosing(sender, eventArgs) { |
| // alert("DateTimePickerClosing: " + event); |
| // eventArgs.set_cancel(true); |
| //// alert("DateTimePickerClosing: " + eventArgs.stopPropagation); |
| // if (eventArgs.stopPropagation) { |
| // eventArgs.stopPropagation(); |
| // } |
| } |
| function DropDownClosing(sender, args) { |
| alert("DropDownClosing: " + args.get_item().get_value()); |
| var eventObj = args.get_domEvent(); |
| //alert("DropDownClosing: " + eventObj.fromElement); |
| if (eventObj.fromElement == null) { |
| if (event.stopPropagation) { |
| event.stopPropagation(); |
| } |
| else { |
| alert("DropDownClosing: set cancel"); |
| args.set_cancel(true); |
| } |
| } |
| // If we knew where click came from we could handle this |
| //eventObj.cancelBubble = true; |
| } |
| function StopPropagation(event) { |
| event.cancelBubble = true; |
| if (event.stopPropagation) { |
| event.stopPropagation(); |
| } |
| } |
| </script> |
| </telerik:RadCodeBlock> |
| <div> |
| <telerik:RadToolBar ID="RadToolBar2" runat="server" Width="100%" |
| OnClientDropDownClosing="DropDownClosing"> |
| <Items> |
| <telerik:RadToolBarButton Text="button 1" CheckOnClick="true" Group="GG" /> |
| <telerik:RadToolBarButton Text="button 2" CheckOnClick="true" Group="GG"/> |
| <telerik:RadToolBarButton Text="button 3" CheckOnClick="true" Group="GG"/> |
| <telerik:RadToolBarSplitButton Value="Split" EnableDefaultButton="true" DefaultButtonIndex="0" > |
| <Buttons> |
| <telerik:RadToolBarButton Text="Broadcast Off"/> |
| <telerik:RadToolBarButton Text="Broadcast All Teams" /> |
| <telerik:RadToolBarButton Text="Broadcast Trading Support" /> |
| <telerik:RadToolBarButton Value="DateTimeTool"> |
| <ItemTemplate> |
| <table> |
| <tr> |
| <td style="width:40px;"> |
| <label>From:</label> |
| </td> |
| <td> |
| <telerik:RadDateTimePicker ID="FromDateTimePicker1" |
| Runat="server" |
| PopupDirection="TopRight" |
| ZIndex="2000000" |
| > |
| <ClientEvents OnDateSelected="DateTimePickerClosing" /> |
| </telerik:RadDateTimePicker> |
| </td> |
| </tr> |
| </table> |
| <table> |
| <tr> |
| <td style="width:40px;"> |
| <label>To:</label> |
| </td> |
| <td> |
| <telerik:RadDateTimePicker ID="ToDateTimePicker1" Runat="server" PopupDirection="BottomRight" ZIndex="2000000"> |
| <ClientEvents OnPopupClosing="DateTimePickerClosing" /> |
| </telerik:RadDateTimePicker> |
| </td> |
| </td> |
| </table> |
| </ItemTemplate> |
| </telerik:RadToolBarButton> |
| </Buttons> |
| </telerik:RadToolBarSplitButton> |
| </Items> |
| </telerik:RadToolBar> |
| </div> |
| </form> |
| </body> |
| </html> |
<Columns>
<telerik:GridClientSelectColumn
UniqueName="ClientSelectColumn" />
</Columns>