Freeze Time Header Row

5 posts, 0 answers
  1. Brett
    Brett avatar
    15 posts
    Member since:
    Sep 2010

    Posted 04 Mar 2013 Link to this post

    I have a scheduler that is configured to use timeline view.
    <TimelineView UserSelectable="true" GroupBy="Driver" GroupingDirection="Vertical" ShowInsertArea="false" />

    Is it possible to freeze the timeline header row?  I would like to be able to see the timeline when scrolling through a long list of resources.

    Could someone please let me know if this is possible?

    Thank you.
  2. Brett
    Brett avatar
    15 posts
    Member since:
    Sep 2010

    Posted 05 Mar 2013 Link to this post

    Could someone please help me with this?  I have a project that is under a strict deadline and I would like to be able to tell my client if their request is possible.  Any help would be greatly appreciated.

    Thank you.
  3. Boyan Dimitrov
    Admin
    Boyan Dimitrov avatar
    2062 posts

    Posted 06 Mar 2013 Link to this post

    Hello,

    I would like to clarify that our RadScheduler control offers the described functionality out of the box. Please find attached a sample project that implements a scenario with lots of room resources and scrolling through that resource list keeps the timeline header always on top and visible to the user. Please watch a video that demonstrates the attached project's behavior at my side.

    Kind regards,
    Boyan Dimitrov
    the Telerik team
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
  4. Brett
    Brett avatar
    15 posts
    Member since:
    Sep 2010

    Posted 07 Mar 2013 Link to this post

    <telerik:RadScheduler ID="SufcoSchedule"
                    Height="495"
                    Width="1400"
                    runat="server"
                    DataKeyField="ID"
                    DataStartField="Start"
                    DataEndField="End"
                    DataSubjectField="Subject"
                    OverflowBehavior="Expand"
                    ShowFooter="true"
                    OnAppointmentInsert="SufcoSchedule_AppointmentInsert"
                    OnAppointmentUpdate="SufcoSchedule_AppointmentUpdate"
                    OnAppointmentDelete="SufcoSchedule_AppointmentDelete"
                    EnableRecurrenceSupport="False"
                    OnClientAppointmentInserting="OnClientAppointmentInserting"
                    OnFormCreating="SufcoSchedule_FormCreating"
                    OnNavigationComplete="SufcoSchedule_NavigationComplete"
                    OnAppointmentCreated="SufcoSchedule_AppointmentCreated"
                    RowHeight="45px"
                    OnClientAppointmentResizing="ClientAppointmentResizing"
                    OnClientAppointmentResizeStart="ClientAppointmentResizing"
                    OnClientAppointmentMoveStart="OnClientAppointmentMoveStart"
                    OnAppointmentContextMenuItemClicked="SufcoSchedule_AppointmentContextMenuItemClicked">
                     
                    <AdvancedForm Modal="true"></AdvancedForm>
                    <AppointmentContextMenus>
                    <%--The appointment context menu interaction is handled on the client%>
                    <%--See the JavaScript code above--%>
                    <telerik:RadSchedulerContextMenu runat="server" ID="SchedulerAppointmentContextMenu">
                        <Items>
                            <telerik:RadMenuItem Text="Open" Value="CommandEdit">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem IsSeparator="True">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem Text="Created In Truckmate">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem IsSeparator="True">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem Text="Delete" Value="CommandDelete">
                            </telerik:RadMenuItem>
                        </Items>
                    </telerik:RadSchedulerContextMenu>
                </AppointmentContextMenus>
                    <AppointmentContextMenuSettings EnableDefault="true"></AppointmentContextMenuSettings>
                    <TimelineView UserSelectable="true" GroupBy="Driver" GroupingDirection="Vertical" ShowInsertArea="false" />
                    <MultiDayView UserSelectable="false" />
                    <DayView UserSelectable="false" />
                    <MonthView UserSelectable="false" />
                    <WeekView UserSelectable="false" />
     
                    <ResourceHeaderTemplate>
                    <asp:Panel ID="ResourceImageWrapper" runat="server" CssClass="ResCustomClass">
                        <asp:Label runat="server" ID="lbl" Text='<%# Eval("Text") %>'></asp:Label>
                    </asp:Panel>
                </ResourceHeaderTemplate>
     
                </telerik:RadScheduler>


    Code Behind:

    protected override void OnInit(EventArgs e)
            {
                _userCompanyId = Convert.ToInt32(Session["UserCompanyId"]);
                base.OnInit(e);
                if (!IsPostBack)
                {
                    Appointments.Clear();
                    SufcoSchedule.Rebind();
                    SufcoSchedule.SelectedDate = DateTime.Today;
                    InitializeResources();
                    InitializeAppointments();
                     
                    SufcoSchedule.TimelineView.SlotDuration = new TimeSpan(1, 0, 0);
                    SufcoSchedule.TimelineView.TimeLabelSpan = 1;
                    SufcoSchedule.TimelineView.ColumnHeaderDateFormat = "HH:mm";
                    SufcoSchedule.TimelineView.NumberOfSlots = 24;
                    SufcoSchedule.SelectedView = SchedulerViewType.TimelineView;
                    SufcoSchedule.TimelineView.StartTime = new TimeSpan(0, 0, 0);
     
                    BindTrips();
                    BindTargetTons(SufcoSchedule.SelectedDate);
                    SufcoSchedule.DataSource = Appointments;
                }
                 
            }

    All appointments are bound through a generic list.  I followed the example,http://demos.telerik.com/aspnet-ajax/scheduler/examples/bindtolist/defaultcs.aspx , and I can't get the scrolling to work.

    Could you please take a look at this and see if you can help with a soulition.

    Thank you



  5. Brett
    Brett avatar
    15 posts
    Member since:
    Sep 2010

    Posted 07 Mar 2013 Link to this post

    I was albe to correct the issue I was having by removing the following from the scheduler:

    OverflowBehavior="Expand"

    Thank you for your time and your help. 

Back to Top