RadScheduler Disappears in IE7 on mouse out

2 posts, 0 answers
  1. evo
    evo avatar
    5 posts
    Member since:
    Dec 2010

    Posted 25 Aug 2011 Link to this post

    Hi ,

    I've built a SharePoint webpart that uses a radScheduler in Timeline view. The oddest thing Ive seen happens with the scheduler. In IE 8 it renders great and works like a charm. However in IE 7, when a user clicks the next and previous buttons and then mouses out , the scheduler simply disappears. The next and previous buttons do not make any server calls as I've bound 10 days worth of appointment data when the form initiallys loads. Any help with this would be appreciated.

    Here is the aspx code for the control:
    <br />
      
    <style type="text/css">
          
        .rsTimelineView .rsAllDayRow 
          {
               height:32px !important;    
          }
         .rsContentScrollArea
        {
            /*overflow-x: scroll;*/
              
            }
      
        .rhs table tbody tr td iframe
        {
            z-index: 9000000!important;
            }
                      
        .rsAllDayTable  ,.rsHorizontalHeaderTable 
        {
            width:100%!Important;
              
         }    
          
               
        .RadScheduler, .rsHeader
        {
            /*Z-index:0!important;*/
            }
          
        .rsHeader
        {
            /*z-index:1;   */
            /*z-index:0!Important; */
            }
          
        .rsContent
        {
            position:relative;              
            /*top:-8px;*/
            top:0px;
            /*z-index:-1!important;*/
            }        
              
        .rsAptRecurrenceException
        {
            display:none!important;
            }
          
        .ms-inputuserfield
        {
            border-style:solid;
            border-color:Gray;
            border-width:1px;    
            }                 
          
        /*.rsAptOut*/
        .overrideRsAptOut
        {
            width: inherit !important;        
            }
          
        .placeholder
        {
            /*border-color:Teal;
            border-width:1px;
            border-style:solid;*/
            }   
          
        .clear
        {
            float:none;
            clear: both;
            }
          
        .lhs
        {   
            position:relative;
            float:left;  
            width: 150px;            
            }
          
        .rhs
        {
            position:relative;
            float:left;
            width:300px;
            margin-right:10px; 
            margin-left:5px;   
            }
              
        #divResourcePicker
        {
            padding-top:10px!important;
            }   
              
        #divDisplayMissingResources, .errors
        {
            padding-top:10px;
            color:Red;
            }
              
        #divDisplayAvailability
        {
             margin:0px auto 0px auto;
             padding-top:10px;
             }    
          
        #divGetAvailability, #divDisplayMissingResources, #divDisplayAvailability
        {
            position:relative;
            top:40px;
            }
              
              
    </style>
      
    <script type="text/javascript" src="~/_layouts/Amp.AvailabilityViewer.SharePoint/jquery-1.6.2.min.js"></script>
      
    <script type="text/javascript">
    </script>
      
      
    <div id="divWebPartContainer" >
            <div id= "divStartDateTime">
                <div class="lhs placeholder"> Start Date & Time </div>
                <div class="rhs placeholder"
                    <SharePoint:DateTimeControl ID="dtcStartingDateTime" runat="server"  />
                </div>
            </div>
            <div class="clear"></div>
      
            <div id= "divResourcePicker">
                <div class="lhs placeholder"> Names</div>
                <div class="rhs placeholder" style="height:26px;"
                    <SharePoint:PeopleEditor id="peopleEditor" runat="server" IsValid="true" AllowEmpty="true" Height="20px" Width="290px"  AllowTypeIn="true" MultiSelect="true" />
                </div>
            </div>
            <div class="clear"></div>
              
            <div id= "divGetAvailability">
                <div class="lhs placeholder"
                    <asp:Button ID="btnCheckAvailability" runat="server" Text="Check Availability"  onclick="btnCheckAvailability_Click"  /> 
                </div>
                <div class="rhs placeholder"> </div>
            </div>
            <div class="clear"></div>
      
            <asp:Panel ID="pnlDisplayMissingResources" runat="server" visible="false">
                <div id= "divDisplayMissingResources">
                    <div class="lhs placeholder"></div>
                    <div class="rhs placeholder">   <asp:Literal ID="litInaccableCalendars" runat="server" ></asp:Literal></div>
                     
                </div>
            </asp:Panel>       
            <div class="clear"></div>
              
            <div id= "divDisplayAvailability" class="placeholder">
                <asp:UpdatePanel ID="UpdatePanel1" runat="server"  UpdateMode="Conditional">
                    <ContentTemplate>   
                          
                         <div class="lhs placeholder"></div>
                         <div class="rhs placeholder"><asp:Label ID="RadSchedulerError" runat="server" Text="" Visible="false"  CssClass="errors"></asp:Label></div>
                         <div class="clear"></div>       
                          
                                           
                         <telerik:RadScheduler ID="RadScheduler1" runat="server" 
                                                    AllowEdit="false" AllowInsert="false" ShowViewTabs="false"
                                                    OnAppointmentCreated="RadScheduler1_AppointmentCreated"
                                                    ShowNavigationPane="true"
                                                    EnableExactTimeRendering="true"                                                
                                                    OnNavigationCommand = "RadScheduler1_NavigationCommand"                                                                                                                                                                                          
                                                    EnableDatePicker="false"
                                                    visible="true"
                                                    >
      
                                                    <AdvancedForm Modal="true" />
                                                    <TimelineView   GroupingDirection="Vertical"                                                                                                         
                                                                    />
                                                    <MonthView UserSelectable="false" />
                                                    <DayView UserSelectable="false" />
                                                    <WeekView UserSelectable="false" />
                                           
                            </telerik:RadScheduler>    
                             
      
                    </ContentTemplate>     
                </asp:UpdatePanel>                                           
            </div>
              
      
            <br />
    </div


    Here is the code that initialises the control through code:

    private void initialiseSchedulerUI()
         {          
                          
             RadScheduler1.SelectedView = Telerik.Web.UI.SchedulerViewType.TimelineView;
             RadScheduler1.DayStartTime= TimeSpan.Parse("08:00:00") ;            
             RadScheduler1.DayEndTime=TimeSpan.Parse("19:00:00") ;
             RadScheduler1.Skin= "Office2007" ;
             RadScheduler1.TimelineView.UserSelectable = false;
             RadScheduler1.TimelineView.GroupBy = "User";
             RadScheduler1.TimelineView.ShowInsertArea = false;
               
             //Timescales scale = Timescales.Hours;
             //RadScheduler1.TimelineView.ShowTimescale(scale);
             RadScheduler1.DataKeyField = "ID";
             RadScheduler1.DataStartField = "Start";
             RadScheduler1.DataDescriptionField = "Subject";
             RadScheduler1.DataEndField = "End";
             RadScheduler1.DataSubjectField = "Subject";
             RadScheduler1.DataRecurrenceField = "RecurrenceRule";
             RadScheduler1.DataRecurrenceParentKeyField = "RecurrenceParentID";
             //RadScheduler1.OverflowBehavior="Expand" ;
             RadScheduler1.TimelineView.SlotDuration = TimeSpan.Parse("00:15:00");
             RadScheduler1.TimelineView.TimeLabelSpan = 4;
             RadScheduler1.TimelineView.ColumnHeaderDateFormat = "h tt";
             RadScheduler1.TimelineView.NumberOfSlots = 64;
             RadScheduler1.TimelineView.StartTime = TimeSpan.Parse("08:00:00");
             RadScheduler1.TimelineView.HeaderDateFormat = "dddd, dd MMMM yyyy";
             RadScheduler1.RowHeight = Unit.Pixel(32);                                   
                  
             RadScheduler1.ReadOnly = true;
               
         }

    And here are the server side events I've hooked into:
       protected void RadScheduler1_NavigationCommand(object sender, SchedulerNavigationCommandEventArgs e)
         {
             string radDate; // = startDate.ToShortDateString();
             string dtcDate;
             DateTime convertedRadDate; //= DateTime.Parse(sDate);
             DateTime converteddtcDate;
             radDate = RadScheduler1.SelectedDate.ToShortDateString();
             dtcDate = dtcStartingDateTime.SelectedDate.ToShortDateString();
             convertedRadDate = DateTime.Parse(radDate);
             converteddtcDate = DateTime.Parse(dtcDate);
             if (RadScheduler1.SelectedView == SchedulerViewType.TimelineView)
             {
                 if (e.Command == SchedulerNavigationCommand.NavigateToNextPeriod)
                 {
                     RadScheduler1.SelectedDate = RadScheduler1.SelectedDate.AddHours(8);
                     RemoveRadEditorError();
                      
                     //if (RadScheduler1.SelectedDate > dtcStartingDateTime.SelectedDate.AddDays(5))
                     if (convertedRadDate > converteddtcDate.AddDays(5))
                     {
                         DisplayRadEditorError("You can only browse five days in Advance!");
                         RadScheduler1.SelectedDate = RadScheduler1.SelectedDate.AddHours(-8);
                         e.Cancel = true;
                         UpdatePanel1.Update();
                     }
                 }
                 else if (e.Command == SchedulerNavigationCommand.NavigateToPreviousPeriod)
                 {
                     RadScheduler1.SelectedDate = RadScheduler1.SelectedDate.AddHours(-8);
                     RemoveRadEditorError();
                     //if (RadScheduler1.SelectedDate < dtcStartingDateTime.SelectedDate)
                     if (convertedRadDate <= converteddtcDate)
                     {
                         DisplayRadEditorError("You cannot browse before the selected date!");
                         RadScheduler1.SelectedDate = RadScheduler1.SelectedDate.AddHours(8);
                         e.Cancel = true;
                         UpdatePanel1.Update();
                     }
                 }
             }
         }
    protected void RemoveRadEditorError()
         {
             RadSchedulerError.Text = "";
             //RadScheduler1.Visible = true;
             RadSchedulerError.Visible = false;
         }


  2. Kalina
    Admin
    Kalina avatar
    918 posts

    Posted 31 Aug 2011 Link to this post

    Hello Evo,

    The issue that you describe is quite unusual.
    Can you reproduce it with a web part that contains only RadScheduler?

    All the best,
    Kalina
    the Telerik team

    Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

Back to Top