Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
199 views
I'm trying to be able to hide and show a RadScheduler on demand. I'm fairly sure this is a client side scripting question.

The first problem I was having was hiding the scheduler on page load. It would hide ok, but when shown, it would be empty. I solved this by calling repaint() after showing its wrapper div.

Now the problem is even though its showing ok, appointments cannot be dragged and dropped.

Specifically, if the RadScheduler is hidden, and an Ajax call is made which rebinds the data, lets say an appointment is moved back two weeks, when the wrapper div is shown and the scheduler is repainted, it does show the appointment on the correct new date, however it is no longer dragable.

Is there another client side method I can call that will reenable dragging support?

Thanks,

<asp:Content ID="Content1" ContentPlaceHolderID="cphHead" Runat="Server">
<script type="text/javascript">
    var rsEvents = null;
    var rgEvents = null;
    var rsPastEvents = null;
    var rgPastEvents = null;
    function onResponseEnd(sender, args) {
        if (args.EventTarget.replace(/\$/g, '_') == rgEvents.ClientID || args.EventTarget == rgPastEvents.ClientID) {
            $('#schedEvents').data('nr', true);
            $('#schedPastEvents').data('nr', true);
        }
    }
    $(document).ready(function () {
        $('#evtCalBtn').click(function () {
            $('#schedEvents').toggle('blind', {}, 500, null);
            if ($('#schedEvents').data('nr') == true) {
                rsEvents.repaint();
                rsEvents.rebind();
            }
        });
        $('#pastEvtCalBtn').click(function () {
            $('#schedPastEvents').toggle('blind', {}, 500, null);
            if ($('#schedPastEvents').data('nr') == true) {
                rsPastEvents.repaint();
                rsEvents.rebind();
            }
        });
    });
 
    $(window).load(function () {
        $('#schedEvents').hide();
        $('#schedPastEvents').hide();
 
        rsEvents = $find('<%= rsEvents.ClientID %>');
        rgEvents = $find('<%= rgEvents.ClientID %>');
        rsPastEvents = $find('<%= rsPastEvents.ClientID %>');
        rgPastEvents = $find('<%= rgPastEvents.ClientID %>');
        $('#schedEvents').data('nr', false);
        $('#schedPastEvents').data('nr', false);
    });
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cphBody" Runat="Server">
 
<div>
    <div class="acnt">
    <p>Upcoming Events <span id="evtCalBtn" class="viewCalender">(View Calendar)</span></p>
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="rgEvents">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="rsEvents" UpdatePanelHeight="" />
                        <telerik:AjaxUpdatedControl ControlID="rgPastEvents" UpdatePanelHeight="" />
                        <telerik:AjaxUpdatedControl ControlID="rsPastEvents" UpdatePanelHeight="" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="rsEvents">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="rgEvents" UpdatePanelHeight="" />
                        <telerik:AjaxUpdatedControl ControlID="rgPastEvents" UpdatePanelHeight="" />
                        <telerik:AjaxUpdatedControl ControlID="rsPastEvents" UpdatePanelHeight="" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="rgPastEvents">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="rgEvents" UpdatePanelHeight="" />
                        <telerik:AjaxUpdatedControl ControlID="rsEvents" UpdatePanelHeight="" />
                        <telerik:AjaxUpdatedControl ControlID="rsPastEvents" UpdatePanelHeight="" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="rsPastEvents">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="rgEvents" UpdatePanelHeight="" />
                        <telerik:AjaxUpdatedControl ControlID="rsEvents" UpdatePanelHeight="" />
                        <telerik:AjaxUpdatedControl ControlID="rgPastEvents" UpdatePanelHeight="" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
            <ClientEvents OnResponseEnd="onResponseEnd" />
        </telerik:RadAjaxManager>  
            <telerik:RadGrid ID="rgEvents" runat="server" AllowSorting="True"
                    AutoGenerateColumns="False" DataSourceID="sqldsEvents" GridLines="None"
                    Skin="Windows7" onitemcommand="rgEvents_ItemCommand" AllowPaging="True">
                <MasterTableView DataKeyNames="EventID" DataSourceID="sqldsEvents">
                <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
                    <Columns>
                        <telerik:GridBoundColumn DataField="EventID" DataType="System.Int32"
                            HeaderText="EventID" ReadOnly="True" SortExpression="EventID"
                            UniqueName="EventID" Visible="False">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="StartDT" DataFormatString="{0:MM-dd-yyyy}"
                            DataType="System.DateTime" HeaderText="StartDT" SortExpression="Date"
                            UniqueName="StartDT">
                            <HeaderStyle Width="60px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="EventName" HeaderText="EventName"
                            SortExpression="Event" UniqueName="EventName">
                            <HeaderStyle Width="100%" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Seats" DataType="System.Int32"
                            HeaderText="Seats" SortExpression="# Seats" UniqueName="Seats">
                            <HeaderStyle Width="40px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="SeatsLeft" DataType="System.Int32"
                            HeaderText="SeatsLeft" ReadOnly="True" SortExpression="# Left"
                            UniqueName="SeatsLeft">
                            <HeaderStyle Width="40px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Cost" DataFormatString="{0:$#,0.00}"
                            DataType="System.Decimal" HeaderText="Cost" SortExpression="Cost"
                            UniqueName="Cost">
                            <HeaderStyle Width="60px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridHyperLinkColumn AllowFiltering="False" Groupable="False"
                            Reorderable="False" Resizable="False" ShowSortIcon="False" Target="_blank"
                            Text="View" UniqueName="colView" DataNavigateUrlFields="EventID"
                            DataNavigateUrlFormatString="../../events.aspx?id={0}">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridHyperLinkColumn>
                        <telerik:GridButtonColumn CommandName="Delete" Text="Delete"
                            UniqueName="colDelete"
                            ConfirmText="Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
                            ConfirmTitle="Question">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                        <telerik:GridButtonColumn CommandName="Email" Text="Email"
                            UniqueName="colEmail">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                        <telerik:GridButtonColumn CommandName="Copy" Text="Copy"
                            UniqueName="colCopy">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                        <telerik:GridButtonColumn CommandName="Manage" Text="Manage"
                            UniqueName="colManage">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>
 
        <div id="schedEvents" style="display: block">
            <telerik:RadScheduler runat="server" ID="rsEvents" Height="580px" Width="100%"
                SelectedView="MonthView" ShowViewTabs="False"
            ShowNavigationPane="True" DataEndField="EndDT" DataKeyField="EventID"
            DataSourceID="sqldsEvents" DataStartField="StartDT"
            DataSubjectField="EventName" Skin="Windows7"
            onappointmentupdate="rsEvents_AppointmentUpdate"
            EnableAdvancedForm="False"
            onappointmentdelete="rsEvents_AppointmentDelete" Localization-ConfirmDeleteTitle="Question"
            Localization-ConfirmDeleteText="Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
             
                onappointmentcontextmenuitemclicked="rsEvents_AppointmentContextMenuItemClicked"
                AllowInsert="False"
                StartEditingInAdvancedForm="False"
                ontimeslotcontextmenuitemclicked="rsEvents_TimeSlotContextMenuItemClicked">
            <AdvancedForm Modal="true" Enabled="False" />
             
<Localization ConfirmDeleteTitle="Question" ConfirmDeleteText="Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."></Localization>
 
            <TimeSlotContextMenuSettings EnableDefault="true" />
                <AppointmentContextMenus>
                    <telerik:RadSchedulerContextMenu ID="RadSchedulerContextMenu1" runat="server">
                        <Items>
                            <telerik:RadMenuItem runat="server" Text="View" Value="View">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem runat="server" Text="Delete" Value="CommandDelete">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem runat="server" Text="Email" Value="Email">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem runat="server" Text="Copy" Value="Copy">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem runat="server" Text="Manage" Value="Manage">
                            </telerik:RadMenuItem>
                        </Items>
                    </telerik:RadSchedulerContextMenu>
                    <telerik:RadSchedulerContextMenu ID="RadSchedulerContextMenu2" runat="server">
                    </telerik:RadSchedulerContextMenu>
                </AppointmentContextMenus>
 
            </telerik:RadScheduler>
        </div>
    <br />
    <p>Templates</p>
    <asp:UpdatePanel ID="upTemplates" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
            <telerik:RadGrid ID="rgTemplates" runat="server" AllowSorting="True"
                    AutoGenerateColumns="False" DataSourceID="sqldsTemplates" GridLines="None"
                    Skin="Windows7" onitemcommand="rgTemplates_ItemCommand" AllowPaging="True">
                <MasterTableView DataKeyNames="EventID" DataSourceID="sqldsTemplates">
                <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
                    <Columns>
                        <telerik:GridBoundColumn DataField="EventID" DataType="System.Int32"
                            HeaderText="EventID" ReadOnly="True" SortExpression="EventID"
                            UniqueName="EventID" Visible="False">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="EventName" HeaderText="EventName"
                            SortExpression="Event" UniqueName="EventName">
                            <HeaderStyle Width="100%" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Seats" DataType="System.Int32"
                            HeaderText="Seats" SortExpression="# Seats" UniqueName="Seats">
                            <HeaderStyle Width="40px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Cost" DataFormatString="{0:$#,0.00}"
                            DataType="System.Decimal" HeaderText="Cost" SortExpression="Cost"
                            UniqueName="Cost">
                            <HeaderStyle Width="60px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridButtonColumn CommandName="Delete" Text="Delete"
                            UniqueName="colDelete"
                            ConfirmText="Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
                            ConfirmTitle="Question">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                        <telerik:GridButtonColumn CommandName="Copy" Text="Copy"
                            UniqueName="colCopy">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                        <telerik:GridButtonColumn CommandName="Manage" Text="Manage"
                            UniqueName="colManage">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>  
        </ContentTemplate>
        </asp:UpdatePanel>
    <br />
    <p>Past Events <span id="pastEvtCalBtn" class="viewCalender">(View Calendar)</span></p>
                <telerik:RadGrid ID="rgPastEvents" runat="server" AllowSorting="True"
                    AutoGenerateColumns="False" DataSourceID="sqldsPastEvents" GridLines="None"
                    Skin="Windows7" onitemcommand="rgPastEvents_ItemCommand" AllowPaging="True">
                <MasterTableView DataKeyNames="EventID" DataSourceID="sqldsPastEvents">
                <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
                    <Columns>
                        <telerik:GridBoundColumn DataField="EventID" DataType="System.Int32"
                            HeaderText="EventID" ReadOnly="True" SortExpression="EventID"
                            UniqueName="EventID" Visible="False">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="StartDT" DataFormatString="{0:MM-dd-yyyy}"
                            DataType="System.DateTime" HeaderText="StartDT" SortExpression="Date"
                            UniqueName="StartDT">
                            <HeaderStyle Width="60px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="EventName" HeaderText="EventName"
                            SortExpression="Event" UniqueName="EventName">
                            <HeaderStyle Width="100%" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Seats" DataType="System.Int32"
                            HeaderText="Seats" SortExpression="# Seats" UniqueName="Seats">
                            <HeaderStyle Width="40px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="SeatsLeft" DataType="System.Int32"
                            HeaderText="SeatsLeft" ReadOnly="True" SortExpression="# Left"
                            UniqueName="SeatsLeft">
                            <HeaderStyle Width="40px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="Cost" DataFormatString="{0:$#,0.00}"
                            DataType="System.Decimal" HeaderText="Cost" SortExpression="Cost"
                            UniqueName="Cost">
                            <HeaderStyle Width="60px" />
                        </telerik:GridBoundColumn>
                        <telerik:GridHyperLinkColumn AllowFiltering="False" Groupable="False"
                            Reorderable="False" Resizable="False" ShowSortIcon="False" Target="_blank"
                            Text="View" UniqueName="colView" DataNavigateUrlFields="EventID"
                            DataNavigateUrlFormatString="../../events.aspx?id={0}">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridHyperLinkColumn>
                        <telerik:GridButtonColumn CommandName="Delete" Text="Delete"
                            UniqueName="colDelete"
                            ConfirmText="Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
                            ConfirmTitle="Question">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                        <telerik:GridButtonColumn CommandName="Email" Text="Email"
                            UniqueName="colEmail">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                        <telerik:GridButtonColumn CommandName="Copy" Text="Copy"
                            UniqueName="colCopy">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                        <telerik:GridButtonColumn CommandName="Manage" Text="Manage"
                            UniqueName="colManage">
                            <ItemStyle Font-Size="7pt" />
                        </telerik:GridButtonColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>  
    <div id="schedPastEvents" style="display: block">
            <telerik:RadScheduler runat="server" ID="rsPastEvents" Height="580px" Width="100%"
                SelectedView="MonthView" ShowViewTabs="False"
            ShowNavigationPane="True" DataEndField="EndDT" DataKeyField="EventID"
            DataSourceID="sqldsPastEvents" DataStartField="StartDT"
            DataSubjectField="EventName" Skin="Windows7"
            onappointmentupdate="rsPastEvents_AppointmentUpdate"
            EnableAdvancedForm="False"
            onappointmentdelete="rsPastEvents_AppointmentDelete" Localization-ConfirmDeleteTitle="Question"
            Localization-ConfirmDeleteText="Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."
             
                onappointmentcontextmenuitemclicked="rsPastEvents_AppointmentContextMenuItemClicked"
                AllowInsert="False"
                StartEditingInAdvancedForm="False"
                ontimeslotcontextmenuitemclicked="rsPastEvents_TimeSlotContextMenuItemClicked">
            <AdvancedForm Modal="true" Enabled="False" />
             
<Localization ConfirmDeleteTitle="Question" ConfirmDeleteText="Are you sure you want to cancel this event? You should send an email notiying them of the cancelation before continuing."></Localization>
 
            <TimeSlotContextMenuSettings EnableDefault="true" />
                <AppointmentContextMenus>
                    <telerik:RadSchedulerContextMenu ID="RadSchedulerContextMenu3" runat="server">
                        <Items>
                            <telerik:RadMenuItem runat="server" Text="View" Value="View">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem runat="server" Text="Delete" Value="CommandDelete">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem runat="server" Text="Email" Value="Email">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem runat="server" Text="Copy" Value="Copy">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem runat="server" Text="Manage" Value="Manage">
                            </telerik:RadMenuItem>
                        </Items>
                    </telerik:RadSchedulerContextMenu>
                    <telerik:RadSchedulerContextMenu ID="RadSchedulerContextMenu4" runat="server">
                    </telerik:RadSchedulerContextMenu>
                </AppointmentContextMenus>
 
            </telerik:RadScheduler>
        </div>
 
    </div>
</div>
Peter
Telerik team
 answered on 27 Aug 2010
1 answer
67 views
Hi All,

I have used PanelBar in my application to display some static text and i'm binding the panelbar from xml. This is working very much fine as long as the text was small. If the text width is more than the panelbar width, instead of wrapping the text it was truncating. Should i have to enable any op'n to wrap the text..


Regards,
sagi.
Kalina
Telerik team
 answered on 27 Aug 2010
7 answers
298 views

Good Afternoon,

I am attempting to use RadAjax to build several SharePoint WebParts that each reach out to remote datasources, databind then display thier data. I am encountering an issue displaying individual loading panels while these controls perform thier initial load (This can be lengthy, a few seconds apiece).

The behviour I am looking for is to have individual RadAjaxUpdatePanels displayed while each control is loading. I have followed the example outlined here (http://www.telerik.com/help/aspnet-ajax/ajxshowloadingpaneloninitialpageload.html) and this works quite well, provided that not more than a single instance of the webpart appears on a given page or any other webpart that impliments this solution.

Attached to this solution is a simplified version of the WebPart logic that substitudes the databinding with a
System.Threading.Thread.Sleep call to simulate the call to an external resource.

When more than one instance of the same part that impliments this login is present on a page, only the call back seems to occure, by this I mean that at the same instance (after the prescribbed delay) the callback renders both webparts simultainiously.

When instances of different WebParts implimenting this logic are on a given page, only the second callback appears to occure and only the last webpart is rendered after the prescribed delay.

I hope that this is enough to make the issue clear enough to address. Below is the source of the WebPart in it's entirety;

MyWeek WebPart Code

MyWeekPart.cs

using System;  
using System.Text;  
using System.Collections.Generic;  
using System.Web;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Web.UI.WebControls.WebParts;  
using Microsoft.Practices.SPG.Common.Logging;  
using Microsoft.Practices.SPG.Common.ServiceLocation;  
using Telerik.Web.UI;  
using NipissingU.Portal.Common.ExceptionHandling;  
using NipissingU.Portal.Common.Entities;  
using NipissingU.Portal.Colleague.Repositories;  
using NipissingU.Portal.Common.Utility;  
 
namespace NipissingU.Portal.WebPart.MyWeek  
{  
    public class MyWeekPart : Microsoft.SharePoint.WebPartPages.WebPart  
    {
        #region Fields...  
        private Control myWeekControl;  
        private Panel Panel1;  
        private Panel Panel2;  
        private RadAjaxLoadingPanel RadAjaxLoadingPanel1;
        #endregion  
 
        #region Properties...  
        IErrorVisualizer ErrorVisualizer { getset; }
        #endregion  
 
 
        #region Overridden Methods...  
        protected override void OnInit(EventArgs e)  
        {  
            base.OnInit(e);  
 
            ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);  
            if (scriptManager == null)  
            {  
                scriptManager = new RadScriptManager();  
                this.Page.Form.Controls.AddAt(0, scriptManager);  
            }  
 
            Page.ClientScript.RegisterStartupScript(typeof(MyWeekPart), this.ID, "_spOriginalFormAction = document.forms[0].action;_spSuppressFormOnSubmitWrapper=true;"true);  
            if (this.Page.Form != null)  
            {  
                string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"];  
                if (!string.IsNullOrEmpty(formOnSubmitAtt) && formOnSubmitAtt == "return _spFormOnSubmitWrapper();")  
                {  
                    this.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();";  
                }  
            }  
        }  
 
        protected override void OnLoad(EventArgs e)  
        {  
            base.OnLoad(e);  
   
            ErrorVisualizer errorVisualizer = new ErrorVisualizer();  
            this.ErrorVisualizer = errorVisualizer;  
 
            try 
            {  
                this.Controls.Add(errorVisualizer);  
 
                // Load the UserControl Template from the /TEMPLATE/CONTROLTEMPLATES directory.  
                myWeekControl = Page.LoadControl("/_controltemplates/NipissingU/MyWeekControl.ascx");  
 
                // Add the Loaded control to the WebParts Control collection. This is important to   
                // establish the Child Control Events!  
                errorVisualizer.Controls.Add(myWeekControl);  
 
                Panel1 = myWeekControl.FindControl("Panel1"as Panel;  
                Panel2 = Panel1.FindControl("Panel2"as Panel;  
                RadAjaxLoadingPanel1 = myWeekControl.FindControl("RadAjaxLoadingPanel1"as RadAjaxLoadingPanel;  
 
                RadAjaxManager AjaxManager1 = RadAjaxManager.GetCurrent(this.Page);  
                if (AjaxManager1 == null)  
                {  
                    AjaxManager1 = new RadAjaxManager();  
                    AjaxManager1.ID = "RadAjaxManager1";  
                    Controls.Add(AjaxManager1);  
                    this.Page.Items.Add(typeof(RadAjaxManager), AjaxManager1);  
                }  
 
                AjaxManager1.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(MyWeekPart_AjaxRequest);  
            }  
            catch (Exception ex)  
            {  
                new ViewExceptionHandler().HandleViewException(ex, this.ErrorVisualizer,  
                   Constants.FriendlyError);  
            }  
        }  
 
        protected override void OnPreRender(EventArgs e)  
        {  
            base.OnPreRender(e);  
 
            if (!this.CheckForWebPartDisplayMode(WebPartManager.BrowseDisplayMode))  
            {  
                new ViewExceptionHandler().ShowFunctionalErrorMessage(Constants.DisplayModeError, this.ErrorVisualizer);  
            }  
        }
        #endregion  
 
        #region Events...  
        protected void MyWeekPart_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)  
        {  
            try 
            {  
                if (e.Argument == "MyWeekLoad")  
                {  
                    System.Threading.Thread.Sleep(2000);  
                    Panel2.Visible = true;  
 
                    Label Label2 = new Label();  
                    Label2.Text = e.Argument;  
                    Panel2.Controls.Add(Label2);  
                }  
            }  
            catch (Exception ex)  
            {  
                  
            }  
        }
        #endregion  
 
        #region Private Methods...  
        protected bool CheckForWebPartDisplayMode(WebPartDisplayMode mode)  
        {  
            bool flag = false;  
            if ((base.WebPartManager != null) && (base.WebPartManager.DisplayMode == mode))  
            {  
                flag = true;  
            }  
            return flag;  
        }
        #endregion  
    }  
}  
 

Constants.cs

using System;  
 
namespace NipissingU.Portal.WebPart.MyWeek  
{  
    public static class Constants  
    {  
        public static string FriendlyError = "My Week is currently unavailable.  Please try again later.";  
        public static string DisplayModeError = "The page is in edit mode.  To show the contents of this web part, close the toolbar or refresh the web part.";  
    }  
}  
 

MyWeekControl.aspx

<%@ Control Language="C#" AutoEventWireup="true" Inherits="NipissingU.Portal.WebPart.MyWeek.MyWeekControl, NipissingU.Portal.WebPart.MyWeek, Version=1.0.0.0, Culture=neutral, PublicKeyToken=fc876b2c4bf21e29" %> 
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI, Version=2009.3.1314.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4" %> 
 
<telerik:RadScriptBlock ID="RadScriptBlock1"  runat="server">  
    <script type="text/javascript">     
        function addLoadEvent(func)   
        {  
            var oldonload = window.onload;  
            if (typeof window.onload != 'function')   
            {  
                window.onload = func;  
            }   
            else   
            {  
                window.onload = function() {  
                    if (oldonload)   
                    {  
                        oldonload();  
                    }  
                    func();  
                }  
            }  
        }  
           
        function MyWeek_OnLoad()  
        {  
            setTimeout( function(){ window["<%= RadAjaxManager.GetCurrent(this.Page).ClientID %>"].ajaxRequest("MyWeekLoad"); }, 50);  
        }  
          
        addLoadEvent(MyWeek_OnLoad);  
    </script>   
</telerik:RadScriptBlock> 
 
<style type="text/css">  
    .module1  
    {  
        background-color: #dff3ff;  
        border: 1px solid #c6e1f2;  
    }  
</style> 
 
<telerik:RadAjaxManagerProxy ID="AjaxManagerProxy1" runat="server">  
    <AjaxSettings> 
            <telerik:AjaxSetting AjaxControlID="Panel1">  
                <UpdatedControls> 
                    <telerik:AjaxUpdatedControl ControlID="Panel1" LoadingPanelID="RadAjaxLoadingPanel1" /> 
                </UpdatedControls> 
            </telerik:AjaxSetting> 
            <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">  
                <UpdatedControls> 
                    <telerik:AjaxUpdatedControl ControlID="Panel1" LoadingPanelID="RadAjaxLoadingPanel1" /> 
                </UpdatedControls> 
            </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManagerProxy> 
 
<fieldset class="module1">  
    <asp:Panel ID="Panel1" runat="server" HorizontalAlign="Center" Height="150px">  
        <asp:Panel ID="Panel2" runat="server" Visible="False">  
            <asp:Button ID="Button1" runat="server" Text="Click to see the loading image" OnClick="Button1_Click" 
            Style="margin-top: 15px; margin-left: 15px" /> 
            <br /> 
            <asp:Label ID="Label1" runat="server" Text="Before Ajax..."></asp:Label> 
        </asp:Panel> 
    </asp:Panel> 
</fieldset> 
 
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server">  
    <div align="center" class="nu-loadingpanel-container">  
        <div class="dt-bigthrobber">&nbsp;</div>      
        <div>Loading...</div> 
    </div> 
</telerik:RadAjaxLoadingPanel> 
 
 

MyWeekControl.cs

using System;  
using System.Data;  
using System.Configuration;  
using System.Collections;  
using System.Web;  
using System.Web.Security;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Web.UI.WebControls.WebParts;  
using System.Web.UI.HtmlControls;  
using Telerik.Web.UI;  
 
namespace NipissingU.Portal.WebPart.MyWeek  
{  
    public partial class MyWeekControl : System.Web.UI.UserControl  
    {
        #region Fields...  
        protected Label Label1;  
        protected Panel Panel1;  
        protected Button Button1;  
        protected RadAjaxLoadingPanel RadAjaxLoadingPanel1;
        #endregion  
 
        protected void Button1_Click(object sender, EventArgs e)  
        {  
            System.Threading.Thread.Sleep(2000);  
            Label1.Text = DateTime.Now.ToLongTimeString();  
        }  
    }  
}  
 

Christian

Pavlina
Telerik team
 answered on 27 Aug 2010
3 answers
118 views
How can I configure the upload option, so when the user try to upload a file it only appears one fileupload item instead three as the default option?
Aaron C
Top achievements
Rank 1
 answered on 27 Aug 2010
2 answers
83 views
Hi,

I have FileExplorer with upload enabled on a page with RadWindowManager and some  radWindows defined. RadWindows are opened via client script and radopen:

var oWnd = radopen(url, "WndSelCat");
//etc etc

Whatever I name the windows in the radopen call  it is always used the upload windows of the fileexplorer.

If I set the fileexplorer to Visible="false" the correct behaviour is restored.

think this is little annoying glitch.

Andrea
Dobromir
Telerik team
 answered on 27 Aug 2010
8 answers
180 views
OK.

Could some kind soul please point out the blindingly obvious fact that I'm failing to see.

I have this page ...
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="verticalTabStrip.aspx.cs"
Inherits="verticalTabStrip" %>
<%@ 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">
    <head id="Head1"
          runat="server">
        <title></title>
<style type="text/css">
.RadToolBar, .rtbOuter, .rtbMiddle, .rtbInner, .rtbUL
{
height: 100%;
}
div.RadToolBar { display: block; }
html, form, body { height: 100%; padding: 0; margin: 0; }
</style>
    </head>
    <body>
        <form id="form1"
              runat="server">
            <asp:ScriptManager ID="ss"
                               runat="server"/>
            <telerik:RadScriptBlock ID="RadScriptBlock1"
                                    runat="server">
                <script type="text/javascript">
                    function clientLoad(sender, args)
                    {
                        ResizeToolbar();
                        $telerik.$(window).resize(function()
                                                  {
                                                      ResizeToolbar();
                                                  });
                    }
 
                    function ResizeToolbar()
                    {
                        var toolbar = $find("<%= RadToolBar1.ClientID %>");
                        var percents = 100 / toolbar.get_items().get_count();
                        $telerik.$(".rtbItem").css("height", percents + "%");
                    }
                    function ToolBarOnClientMouseOver(oToolBar, args)
                    {
                        var oToolTipManager = $find("<%= RadToolTipManager1.ClientID %>");
                        var elem = args.get_item().get_element();
 
                        //Find the tooltip for this element if it has been created
                        var tooltip = oToolTipManager.getToolTipByElement(elem);
                        //Create a tooltip if no tooltip exists for such element
                        if (!tooltip)
                        {
                            tooltip = oToolTipManager.createToolTip(elem);
                            //Use the fact that the image was named after a country
                            //Extract the country name from the image, and set it as the value to be supplied to the web-service
                            tooltip.set_value(args.get_item().get_value());
                        }
                        tooltip.show();
                    }
                </script>
            </telerik:RadScriptBlock>
                                
            <telerik:RadToolBar ID="RadToolBar1"
                                runat="server"
                                Orientation="Vertical"
                                OnClientLoad="clientLoad"
                                OnClientMouseOver="ToolBarOnClientMouseOver"
                                Skin="WebBlue"
                                Height="100%"
                                Width="63px">
                <Items>
                    <telerik:RadToolBarButton Text="button 1"
                                              Value="1"
                                              ImagePosition="AboveText"
                                              ImageUrl="Images/blog-blue.png"
                                              ToolTip="Blah"/>
                    <telerik:RadToolBarButton Text="button 2"
                                              Value="2"
                                              ImagePosition="AboveText"
                                              ImageUrl="Images/blog-blue.png"/>
                    <telerik:RadToolBarButton Text="button 3"
                                              Value="3"
                                              ImagePosition="AboveText"
                                              ImageUrl="Images/blog-blue.png"/>
                    <telerik:RadToolBarButton Text="button 4"
                                              Value="4"
                                              ImagePosition="AboveText"
                                              ImageUrl="Images/blue-document.png"/>
                    <telerik:RadToolBarButton Text="button 5"
                                              Value="5"
                                              ImagePosition="AboveText"
                                              ImageUrl="Images/blue-folder.png"/>
                </Items>
            </telerik:RadToolBar>
            <telerik:RadToolTipManager ID="RadToolTipManager1"
                                       runat="server"
                                       ShowCallout="false"
                                       Position="MiddleRight"
                                       RelativeTo="Element"
                                       Skin="WebBlue"
                                       Width="600px"
                                       Height="288px"
                                       HideEvent="LeaveTargetAndToolTip"
                                       OnAjaxUpdate="RadToolTip_AjaxUpdate"
                                       AutoCloseDelay="30000">
                <TargetControls>
                </TargetControls>
            </telerik:RadToolTipManager>
 
        </form>
    </body>
</html>
With this code behind ...
using System.Web.UI;
using System;
 
public partial class verticalTabStrip : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
 
    protected void RadToolTip_AjaxUpdate(object sender, Telerik.Web.UI.ToolTipUpdateEventArgs e)
    {
        Control c = Page.LoadControl(Page.ResolveUrl(String.Format("~/Controls/UserControl{0}.ascx", e.Value)));
        e.UpdatePanel.ContentTemplateContainer.Controls.Add(c);
    }
}

The content of UserControlN.ascx is immaterial; all that is important is that they're different. In my test, one has a combobox, one a treeview, etc.

When I run the page, getting the mouse over one of the toolbar buttons causes the relevant tooltip to display. Moving the mouse over a different button results in a HttpException being generated on the last line of the RadToolTip_AjaxUpdate method. The error message reads "Failed to load viewstate.  The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.  For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request."

For the life of me, I can't work out what I'm doing wrong. If you could put me out of my misery, I would be most grateful.

-- 
Stuart

Stuart Hemming
Top achievements
Rank 2
 answered on 27 Aug 2010
1 answer
199 views
Dear Support,

I am using the file explorer of telerik and need to add a lots of custom tool buttons. I want the width of the explorer to be fixed and not too wide. But since there are a lots tool buttons, the toolbar extends beyond the explorer. Is there a way by which i can make the toolbar appear in two rows intead of 1.
Dobromir
Telerik team
 answered on 27 Aug 2010
3 answers
160 views
I'd thought that this was a z-index problem, but now I'm not sure.

I have a usercontrol that is loaded in to a tooltip update panel.

The usercontrol contains a combobox and a calendar.

When I clicked on the combobox the dropdown didn't display, but when I moved the cursor out of the tooltip and it closed, I noticed the dropdown list was behind the tooltip. Adding style="8500;" to my combobox mark-up fixed that.

Then I tried clicking on the calendar header to display the fast navigation controls. Again, nothing was visible but allowing the tooltip to close revealed that the fast nav popup was behind the tooltip. However, it doesn't seem to matter what I set the z-index to in the calendar's mark-up, I simply can't get the popup to render above the tooltip.

Can anyone help?

TIA
-- 
Stuart
Stuart Hemming
Top achievements
Rank 2
 answered on 27 Aug 2010
2 answers
100 views
Earlier I had Ajax Script manager and now I have RadScriptManger but i can't get the same functionality as earlier. I can drag my items anymore.
Help me with this issue.
Thanks
Peter
Telerik team
 answered on 27 Aug 2010
3 answers
113 views
Hey Guys,

What I'm trying to do is when a user clicks a appointment it will show the details in a RadWindow so what i need to is when a user clicks an appointment pass the appointment ID to the RadWindows so i can populate the data.

Any guidance would be greatly appreciated.

I code in VB.Net

Cheers,

Tom
Veronica
Telerik team
 answered on 27 Aug 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?