Our application has RadWindow ,which is displayed as pop up window with some information.We are trying to open the links in the RadWindow in a new browser window - through the Ajax Manager by adding the Javascript method to the RadAjaxManager response scripts and sending the parameters from code behind.The script has been added to the Response scripts.but the javascript is not getting executed.
Is there any other way to do this? or is this the right approach.
using System;using System.Collections.Generic;using System.Globalization;using System.Web.Script.Services;using System.Web.Services;using Telerik.Web.UI;namespace Naucrates.Formcrates.Web.Form{ [WebService] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] public partial class TestScheduler : System.Web.UI.Page { protected void Page_Init(object sender, EventArgs e) { var Control = new RadScheduler(); Control.ID = "test"; Page.Form.Controls .Add(Control); Control.AllowDelete = false; Control.AllowEdit = false; Control.AllowInsert = false; Control.FirstDayOfWeek = DayOfWeek.Monday; Control.LastDayOfWeek = DayOfWeek.Sunday; Control.ShowFullTime = false; Control.SelectedView = SchedulerViewType.MonthView; Control.ShowViewTabs = true; Control.ShowAllDayRow = true; Control.DayView.UserSelectable = false; Control.WeekView.UserSelectable = false; Control.TimelineView.UserSelectable = false; Control.WebServiceSettings.Path = Request.Url.AbsoluteUri; Control.WebServiceSettings.ResourcePopulationMode = SchedulerResourcePopulationMode.ClientSide; Control.TimeZoneOffset = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now); Control.VisualTimeZoneOffset = Control.TimeZoneOffset; Control.Culture = new CultureInfo("cs-CZ"); Control.ShowDateHeaders = false; var menu = new RadSchedulerContextMenu(); menu.Items.Add(new RadMenuItem("test1")); menu.Items.Add(new RadMenuItem("test2") { PostBack = true, Value = "val" }); Control.AppointmentContextMenus.Add(menu); Control.AppointmentContextMenuItemClicked += Control_AppointmentContextMenuItemClicked; Control.AppointmentContextMenuItemClicking += Control_AppointmentContextMenuItemClicking; } void Control_AppointmentContextMenuItemClicking(object sender, AppointmentContextMenuItemClickingEventArgs e) { System.Diagnostics.Debug.WriteLine("CLICKING!"); } protected void Control_AppointmentContextMenuItemClicked(object sender, AppointmentContextMenuItemClickedEventArgs e) { System.Diagnostics.Debug.WriteLine("CLICK!"); } [WebMethod] public static IEnumerable<AppointmentData> GetAppointments(SchedulerInfo schedulerInfo) { var data = new List<AppointmentData>(); data.Add(new AppointmentData {Start = DateTime.Today, End = DateTime.Today.AddDays(2),Description = "TEST", Subject = "test"}); return data; } [WebMethod] public static IEnumerable<ResourceData> GetResources(SchedulerInfo schedulerInfo) { return new List<ResourceData>(); } }}2) Culture property does not working properly (see image).
What am I doing wrong?
Thanks,
Tomas Svec
Code of Master Page which has the onClick Button protected void Page_Load(object sender, EventArgs e) { //Check if Calling Pages Require New User Set Up if (SessionContext.NeedUserSetUp) { // Find Reference to Window Set Up RadWindow wndSetUp = GetUserSetUpWindow(); if (wndSetUp != null) {// Show Set Up Button and Add Ajax Settings btNewUserSetUp.Visible = true; RadAjaxManager_GM.AjaxSettings.AddAjaxSetting(btNewUserSetUp, wndSetUp); } else { btNewUserSetUp.Visible = false; } } else { btNewUserSetUp.Visible = false; } } /// <summary> /// Handles the Click event of the btNewUserSetUp control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> protected void btNewUserSetUp_Click(object sender, EventArgs e) { RadWindow wndSetup = GetUserSetUpWindow(); if (wndSetup != null) { wndSetup.Visible = true; wndSetup.VisibleOnPageLoad = true; } } /// <summary> /// Gets the user set up window. Find the Reference to the Window Set Up generated dynamically /// </summary> /// <returns></returns> private RadWindow GetUserSetUpWindow() { switch (sectionName) { case "SavingsCenter": case "ShoppingLists": case "BrowseItems": case "FindDeals": default: return (RadWindow)Page.Form.FindControl("RadWindowManager_GM").FindControl("wndSetUp"); } }HTML <telerik:RadWindowManager ID="RadWindowManager_GM" runat="server"> </telerik:RadWindowManager> <telerik:RadButton ID="btNewUserSetUp" runat="server" Visible="false" Width="98" Height="21" OnClick="btNewUserSetUp_Click"> <Image ImageUrl="../Images/btNewUserSetUp.gif" HoveredImageUrl="../Images/btNewUserSetUp_up.gif" /> </telerik:RadButton>protected override void OnLoad(EventArgs e) { _SessionContext.CallingPage = this; //Check for New User Set Up if (SessionContext.NeedUserSetUp && IsValidContext() && !IsPostBack) { RadWindow wndSetUp = CreateNewUserSetUpWindow(true); } base.OnLoad(e); } /// <summary> /// Determines whether [is valid context] only if PageBase called within the ApplicationLayer. /// </summary> /// <returns> /// <c>true</c> if [is valid context]; otherwise, <c>false</c>. /// </returns> private bool IsValidContext() { MasterPage master = GetRootLevelMaster(); return (master != null ? (master.GetType().Name.IndexOf("applicationlayer") > 0) : false); } /// <summary> /// Creates the new user set up window. /// </summary> /// <param name="manualSetUp">if set to <c>true</c> [manual set up].</param> /// <returns></returns> public RadWindow CreateNewUserSetUpWindow(bool manualSetUp) { RadWindow wndSetUp = new RadWindow(); WindowSetUpConfigurations(wndSetUp, manualSetUp); RadWindowManager wndManager = (RadWindowManager)GetWindowManager(); wndManager.Windows.Add(wndSetUp); //Attach RadWindow to the Form //this.Page.Form.Controls.Add(wndSetUp); return wndSetUp; } private Control GetWindowManager() { MasterPage master = GetRootLevelMaster(); return master.FindControl("RadWindowManager_GM"); } private MasterPage GetRootLevelMaster() { MasterPage master = Page.Master; MasterPage prevMaster = null; while (master != null) { prevMaster = master; master = master.Master; } return prevMaster; } /// <summary> /// Windows the set up configurations. /// Requirement: CSS Skin is loaded for RadWindow in Master /// </summary> /// <param name="wndSetUp">The WND set up.</param> private void WindowSetUpConfigurations(RadWindow wndSetUp,bool manualSetUp) { wndSetUp.ID = "wndSetUp"; if (manualSetUp) { RadButton btSetUp = (RadButton)GetWindowManager().FindControl("btNewUserSetUp"); wndSetUp.OpenerElementID = btSetUp.ClientID; } wndSetUp.Title = "First Time Setup"; wndSetUp.Skin = "gmBlue"; wndSetUp.NavigateUrl = "../Pages/InitialSetUp.aspx"; wndSetUp.Height = 730; wndSetUp.Width = 900; wndSetUp.KeepInScreenBounds = true; wndSetUp.Modal = true; wndSetUp.Overlay = true; wndSetUp.ShowContentDuringLoad = true; wndSetUp.Visible = false; wndSetUp.VisibleStatusbar = false; wndSetUp.VisibleTitlebar = true; wndSetUp.Behaviors = WindowBehaviors.Close | WindowBehaviors.Move; wndSetUp.EnableEmbeddedSkins = false; wndSetUp.EnableShadow = false; }
My Set up consist of a Grid and a ClientClick on the Row to open a RadWindow using the ClientSide radopen. The problem I am encountering is that none of the RadWindow attributes are working... as if whatever i've defined in the RadWindow Attributes are ignored.
Below is the code snippet from my user control where the RadGrid is located and it's associated code.
<telerik:RadWindowManager ID="wndManager" runat="server" EnableShadow="False"> <Windows> <telerik:RadWindow ID="wndShoppingListItem" runat="server" Title="Shopping List Item" ReloadOnShow="true" ShowContentDuringLoad="false" KeepInScreenBounds="True" Modal="True" VisibleStatusbar="False" Height="525" Width="725px" VisibleTitlebar="True" Behavior="Close, Move" Behaviors="Close, Move" Skin="gmBlue" EnableEmbeddedSkins="false" /> </Windows></telerik:RadWindowManager><telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function ShowEditForm(accountId, listId, itemId, productId, rowIndex) { //alert('ShowEditForm'); var grid = $find("<%= grdSelectedList.ClientID %>"); var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element(); grid.get_masterTableView().selectItem(rowControl, true); var wnd = window.radopen("wndShoppingListItem.aspx?accountId=" + accountId + "&listId=" + listId + "&itemId=" + itemId + "&productId=" + productId , "<%= wndShoppingListItem.ClientID %>"); return false; } function ShowInsertForm() { //alert('ShowInsertForm'); var wnd = window.radopen("wndShoppingListItem.aspx", "<%= wndShoppingListItem.ClientID %>"); return false; } function refreshGrid(arg) { //alert('refresgGrid' + arg); var ajaxManager = $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>"); if (!arg) { ajaxManager.ajaxRequest("Rebind"); } else { ajaxManager.ajaxRequest("RebindAndNavigate"); } } function RowClick(sender, eventArgs) { //alert('RowClick' + eventArgs); var wnd = window.radopen("wndShoppingListItem.aspx?accountId=" + eventArgs.getDataKeyValue("Account_ID") + "&listId=" + eventArgs.getDataKeyValue("List_ID") + "&itemId=" + eventArgs.getDataKeyValue("Item_ID") + "&productId=" + eventArgs.getDataKeyValue("Product_ID") , "<%= wndShoppingListItem.ClientID %>"); } </script></telerik:RadCodeBlock>
Below is the actual content of the RadWindow
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="wndShoppingListItem.aspx.cs" Inherits="GrocerMania.AppServer0001.Pages.wndShoppingListItem" %><!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>Shopping List Item</title> <link href="../Lib/shoppinglist.css" rel="stylesheet" type="text/css" /> <link href="../Lib/wndMain.css" rel="stylesheet" type="text/css" /></head><body> <form id="form1" runat="server"> <script type="text/javascript"> function CloseAndRebind(args) { //alert('CloseAndRebind' + args); GetRadWindow().BrowserWindow.refreshGrid(args); GetRadWindow().close(); } function GetRadWindow() { //alert('GetRadWindow'); var oWindow = null; if (window.radWindow) oWindow = window.radWindow; else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; return oWindow; } function CancelEdit() { //alert('CancelEdit'); GetRadWindow().close(); } </script> <asp:ScriptManager ID="ScriptManager2" runat="server" /> <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server"> </telerik:RadStyleSheetManager> <div class="sliHeader"> <div class="sliItemImage"> <asp:Image ID="imgItem" runat="server" ImageUrl="~/AppServer0001/Data_Images/default.gif" Height="80" Width="80" BorderColor="black" BorderWidth="1"/> </div> <div class="sliItemDescription"> <asp:Label ID="lblItemName" runat="server" CssClass="lblItemName">Milk, Lowfat 1%</asp:Label> <div class="smallLabel"> Last purchased:</div> <asp:Label ID="lblLastPurchased" runat="server" CssClass="smallFont"> October 1, 2011 (2 gallons)</asp:Label><br /> <div class="smallLabel"> How much I have:</div> <asp:Label ID="lblHowMuch" runat="server" CssClass="smallFont">None!</asp:Label> </div> </div> <div class="sliBody"> <div class="sliColName"> Quantity:</div> <div class="sliColControl"> <div class="divQtyWrapper"> <div class="divPlusMinus" id="qtyMinus"> <img alt="minus" src="../Images/btMinusGray.gif" /></div> <div class="divQty"> <asp:TextBox ID="txtQty" runat="server" value="1" CssClass="txtQtyInput"></asp:TextBox></div> <div class="divPlusMinus" id="qtyPlus"> <img alt="plus" src="../Images/btPlusGray.gif" /></div> </div> </div> <div class="sliSeparator"> </div> <div class="sliColName"> Item type:</div> <div class="sliColControl"> <telerik:RadComboBox ID="cmbType" runat="server" Width="345px"> </telerik:RadComboBox> </div> <div class="sliSeparator"> </div> <div class="sliColName"> Item size:</div> <div class="sliColControl"> <telerik:RadComboBox ID="cmbSize" runat="server" Width="345px"> </telerik:RadComboBox> </div> <div class="sliSeparator"> </div> <div class="sliColName"> Brand:</div> <telerik:RadComboBox ID="cmbBrand" runat="server" Width="345px"> </telerik:RadComboBox> <asp:HyperLink ID="lnkBrandPref" runat="server" Text="Brand preferences" NavigateUrl="#"></asp:HyperLink> <div class="sliSeparator"> </div> <div class="sliColName"> Allow substitute items?</div> <div class="sliColControl"> <telerik:RadComboBox ID="RadComboBox1" runat="server" Width="345px"> </telerik:RadComboBox> </div> <div class="sliSeparator"> </div> <div class="sliColName"> Allow bulk discounts?</div> <div class="sliColControl"> <telerik:RadComboBox ID="RadComboBox2" runat="server" Width="345px"> </telerik:RadComboBox> </div> <div class="sliSeparator"> </div> <div class="sliColName"> Price alert?</div> <div class="sliColControl"> <div class="divRadioButtons"> <telerik:RadButton ID="btnPriceAlert" runat="server" ButtonType="ToggleButton" ToggleType="Radio" Text="No" GroupName="grpPriceAlert"> </telerik:RadButton> <br /> <telerik:RadButton ID="RadButton1" runat="server" ButtonType="ToggleButton" ToggleType="Radio" Text="Automatic - When GrocerMania finds a bargain price" GroupName="grpPriceAlert"> </telerik:RadButton> <br /> <telerik:RadButton ID="RadButton2" runat="server" ButtonType="ToggleButton" ToggleType="Radio" Text="Manual - When the price is at or below $" GroupName="grpPriceAlert"> </telerik:RadButton> <telerik:RadTextBox ID="priceLimit" runat="server" Width="50"> </telerik:RadTextBox><br /> </div> </div> <div class="sliSeparator"> </div> <div class="centeredContent"> <telerik:RadButton ID="btnSubmit" runat="server" OnClientClicking="OnClientClicking" Width="111" Height="31"> <Image ImageUrl="../Images/btSubmitDarkBlue.gif" /> </telerik:RadButton> <telerik:RadButton ID="btnAddToWishList" runat="server" OnClientClicking="OnClientClicking" Width="130" Height="31"> <Image ImageUrl="../Images/btAddToWishListCharcoal.gif" /> </telerik:RadButton> <telerik:RadButton ID="btnCancel" runat="server" OnClientClicking="CancelEdit" Width="72" Height="31"> <Image ImageUrl="../Images/btCancelCharcoal.gif" /> </telerik:RadButton> </div> </div> </form></body></html>
What am I doing wrong? The Window when it opens, is smaller in size ( about 250px bx 250px) and then readjust based on the content...I need to have it open the correct fixed size as defined in the RadWindow. Also the CSS skin is also ignored...although i have the csslink in the parent page!
protected void rgOutages_ItemCreated(object sender, GridItemEventArgs e){ if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditableItem item = (GridEditableItem)e.Item; GridNumericColumnEditor editor = (GridNumericColumnEditor)item.EditManager.GetColumnEditor("Unit_Outage_CountInflexible"); editor.NumericTextBox.EmptyMessage = "0"; editor.NumericTextBox.MaxLength = 8; editor.NumericTextBox.MaxValue = 999; editor.NumericTextBox.MinValue = 0; editor.NumericTextBox.NumberFormat.AllowRounding = true; editor.NumericTextBox.NumberFormat.DecimalDigits = 0; editor.NumericTextBox.Width = Unit.Percentage(100); }}"{0:dd-MMM-yyyy}".
Please suggest a solution.We are using a class file for this which is like your Demo File (CustomFilteringColumn.cs)