This is a migrated thread and some comments may be shown as answers.

RadScheduler Disappears in IE7 on mouse out

1 Answer 67 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
evo
Top achievements
Rank 1
evo asked on 26 Aug 2011, 03:00 AM
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;
     }


1 Answer, 1 is accepted

Sort by
0
Kalina
Telerik team
answered on 31 Aug 2011, 04:40 PM
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 >>

Tags
Scheduler
Asked by
evo
Top achievements
Rank 1
Answers by
Kalina
Telerik team
Share this question
or