Unplanned
Last Updated: 19 Mar 2025 11:09 by ADMIN

Once a user has clicked an appointment to select it, I'd like the ability to clear this selection. For example, if you show one set of appointments, then click a radio button on the page to switch to a different set of appointments, I'd like to clear the selection so that no appointment is selected. The way it works now, the component appears to store the index of the selected appointment and then re-apply that when it's rendered with new appointments.

More context here: https://www.telerik.com/forums/how-to-clear-the-selected-slot-in-the-scheduler

Unplanned
Last Updated: 27 Feb 2025 09:29 by ADMIN

In the scheduler for Asp.net Ajax, the month view would put a k-other-month class on the cells from other months outside of the current one and those cells would have a different style (grayed day numbers or background, etc.).  In the Blazor scheduler component it doesn't look like that class is being put on those cells anymore. The Telerik SCSS themes still allow for that class, so is there a way to add them or is there a workaround so that those cells can be re-styled similar to the way the Ajax Scheduler functions?

Thanks,

Mike

Completed
Last Updated: 26 Feb 2025 07:26 by ADMIN
Release 2025 Q2 (May)

When double-clicking a cell in the All Day Row of the scheduler, one would expect that the IsAllDay field would be set to true in the SchedulerEditEventArgs similar to the way the start and end dates represent the date and time of the cell that was double-clicked.  Unfortunately, the IsAllDay field is always false.

The following Repl taken from the demo reflects this: https://blazorrepl.telerik.com/mzYQvZvC394NLH0H06

Is there a way to determine if the double-clicked cell is in the All Day Row?

Thanks,

Mike

Unplanned
Last Updated: 10 Feb 2025 10:55 by Shannon
Created by: Shannon
Comments: 0
Category: Scheduler
Type: Bug Report
1
The Scheduler Agenda view displays multi-day appointments only on their start day. Instead, the Agenda view should render multi-day appointments on their start and end day, or even on all days in-between.
Unplanned
Last Updated: 20 Jan 2025 11:03 by Václav

When SchedulerGroupOrientation is set to vertical, increasing the height of the `SchedulerResourceGroupHeader` breaks the rendering of the Scheduler cells, which causes misalignment of the appointments. In my scenario, I want to have a Button and an Icon in the group header cell.

Reproduction example: https://blazorrepl.telerik.com/wJElGYvF02XSsN6j42

Duplicated
Last Updated: 23 Jan 2025 08:36 by ADMIN
Created by: Jean-Marc
Comments: 3
Category: Scheduler
Type: Bug Report
0

Bug reproduced systematically on web browser Edge (131.0.29.03.146) & Firefox (134.0).

Beware: culture is fr-FR

Scheduler component sometimes put appointments at wrong coordinates (hour if ok but the day is wrong).

The screenshot "ExampleWrongCoordinates.png" set an example of an item wrongfully located. In this picture, console log shows details of the razor element who's supposed to be located on Tuesday 14th of January 2025 .. but which is rendered on Monday instead!

Appointments model defines "default (expected) property names Start & End":

private DateTime _start;

public DateTime Start
{
    get { return _start; }
    set { _start = value; }
}

private DateTime _end;

public DateTime End
{
    get { return _end; }
    set { _end = value; }
}

View is MultiDay but the glitch is the same on Week view.

Now if we switch on day view and navigate to Tuesday 14, scheduler shows the appointment on hours column! If we click it, a JS error is raised (Cf screenshot "ClickAppointmentWrongCoordinates.png").

Declined
Last Updated: 17 Jan 2025 06:48 by Kostas

When I try to move by drag and drop  an event between resources the resource on the event is not updated.

I used this

 <TelerikScheduler Data="@_trips" Height="500px"
                   @bind-Date="@StartDate"
                   IdField="@(nameof(TripInfo.Id))"
                   StartField="@(nameof(TripInfo.StartDateTime))"
                   EndField="@(nameof(TripInfo.EndDateTime))"
                   TitleField="@(nameof(TripInfo.BusCode))"
                   OnUpdate="@UpdateTrip"
                    OnDelete="@DeleteAppointment"
                   ConfirmDelete="true"
                    AllowDelete="true"
                   AllowUpdate="true"
                   DescriptionField="@(nameof(TripInfo.BusDescription))" @bind-View="@sv" @ref="@_scheduler">

     <SchedulerSettings>

         <SchedulerGroupSettings Resources="@GroupingResources" Orientation="@SchedulerGroupOrientation.Vertical"></SchedulerGroupSettings>
     </SchedulerSettings>
     <SchedulerViews>
         <SchedulerTimelineView StartTime="@DayStart" ColumnWidth="20" SlotDivisions="6" SlotDuration="60" EndTime="@DayEnd" NumberOfDays="1" WorkDayEnd="@WorkDayEnd" WorkDayStart="@WorkDayStart" >
   
                  
             </SchedulerTimelineView>

     </SchedulerViews>
     <SchedulerResources>
         <SchedulerResource Field="@(nameof(TripInfo.BusCode))" Title="Resources" TextField="@(nameof(BaseCodeInfo.Name))" ValueField="@(nameof(BaseCodeInfo.Code))" Data="@_resources"></SchedulerResource>
     </SchedulerResources>
 
        
 </TelerikScheduler>
Unplanned
Last Updated: 09 Jan 2025 12:33 by ADMIN
How can I implement auto-scrolling in the Telerik Scheduler when dragging an appointment outside the visible viewport? I want the scheduler to automatically scroll in the appropriate direction to bring the dragged appointment into view.
Need More Info
Last Updated: 24 Dec 2024 13:57 by ADMIN
Created by: Nenad
Comments: 5
Category: Scheduler
Type: Feature Request
1
When adding an appointment enable option for reminder popup. Same as options for recurrence, you can set up reminder options (remind me x time before). You can add additional options like snooze or to disable reminder, but this is the main one, and default can be 15 minutes before event.
Unplanned
Last Updated: 09 Dec 2024 10:07 by Federico
Created by: Federico
Comments: 0
Category: Scheduler
Type: Feature Request
2
The TimeColumn of the Agenda view displays the time in a 12-hour format by default. I want to be able to specify 24-hour format for the time.
Unplanned
Last Updated: 19 Nov 2024 10:20 by David
Created by: David
Comments: 0
Category: Scheduler
Type: Bug Report
1

The appointment drag and drop functionality of the Scheduler does not work on mobile devices. When you try to drag an item, the item does not move.

You can test it by running the Scheduler overview demo by using Chrome's mobile device emulator and trying to drag and drop an appointment.

Unplanned
Last Updated: 18 Sep 2024 11:53 by Mike
Created by: Mike
Comments: 0
Category: Scheduler
Type: Feature Request
1
I am using resource grouping with Day view only. I have 5 groups and showing the date for each column/group is repetitive, and a waste of screen space. I want to remove the date header as I am already displaying the date in a different element on the page.
Unplanned
Last Updated: 21 Aug 2024 13:58 by Leonard
The current functionality allows dragging items from an external component to the Scheduler, but not the other way around. I would like to be able to drag and drop appointments between multiple Schedulers.
Completed
Last Updated: 14 Nov 2024 09:29 by ADMIN
Release 7.0.0

The "Edit Recurring Appointment" modal is only partially visible on mobile which prevents the user from proper editing.

Unplanned
Last Updated: 26 Jul 2024 13:34 by Janick
Created by: Janick
Comments: 0
Category: Scheduler
Type: Feature Request
1

I'd like to have a data virtualization feature (similar to the OnRead event), so I can load only small chunks of data (appointments) specifically for the current page/view.

===

ADMIN EDIT

===

Currently, you can achieve similar functionality by handling the DateChanged and ViewChanged events of the Scheduler to load only the relevant appointments for the selected period.

You can find an example here: Load Scheduler Appointments on Demand.

Unplanned
Last Updated: 19 Jul 2024 10:07 by n/a
Created by: n/a
Comments: 0
Category: Scheduler
Type: Feature Request
4

The Timeline view currently does not provide the "Show business hours" option as in the other views.

Please add that for the Timeline view similar to the jQuery version of the component.

===

ADMIN EDIT

===

For the time being, you can achieve this functionality with a custom approach by programmatically setting the StartTime and EndTime of the view to equal the WorkDayStart and WorkDayEnd.

Here is a basic example: https://blazorrepl.telerik.com/QyEhvjbO07j1ZvID42.

Unplanned
Last Updated: 12 Jul 2024 11:27 by Dario
Currently, I'm making specific cells undroppable zones by conditionally executing the logic inside the OnUpdate handler. When I drag over a cell that does not allow dropping in the Scheduler, I want the hint to indicate an undroppable zone.
Declined
Last Updated: 05 Jul 2024 08:55 by ADMIN
Created by: Maximilian
Comments: 1
Category: Scheduler
Type: Bug Report
0

Hi, 

I'm building a Grid which contains a nested Grid in it's `<DetailTemplate/>`.

When I'm opening the details, the grid events fire, the data gets loaded correctly but the data doesn't show up in the UI. Using .NET 8 Blazor with Telerik UI for Blazor Version 6.0.2.

 

This is the grid containing the Grid (data here gets loaded correctly):


<TelerikGrid @ref="@_grid" TItem="ChecklistDetailModel" Pageable Page="@_settings.CurrentPageNumber" PageSize="@_settings.Limit" OnRead="@OnPageReadAsync" Width="100%" Height="100%">
    <GridToolBarTemplate>
        <LawAreaSelect SelectedLawAreaId="_settings.SelectedLawAreaId" SelectedCountryId="_settings.SelectedCountryId" OnLawAreaSelected="OnLawAreaSelected" Width="250px" />
        <CountriesSelect Value="_settings.SelectedCountryId" OnChangeCallback="OnCountrySelected" Width="250px" />
        <TelerikButton Icon="FontIcon.FileAdd" OnClick="OnCreateChecklistButtonClick" Title="@Localizer["ChecklistOverview.Create"]" />
    </GridToolBarTemplate>
    <GridColumns>
        <GridColumn Title="ID" Width="50px">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    <span>@model.Id</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.LawArea"]">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    <span>@model.LawArea.Name</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.Country"]">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    <span>@model.Country.Name</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.Checklist.Revision"]">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    @if (model.RevisionName != null)
                    {
                        <span>@model.RevisionName</span>
                    }
                    else
                    {
                        <i>@Localizer["Data.Checklist.NoRevision"]</i>
                    }
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.ChecklistRevisionDate"]">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    @if (model.LastUpdated.HasValue)
                    {
                        <span>@model.LastUpdated.Value.ToShortDateString()</span>
                    }
                    else
                    {
                        <span>@model.CreatedDate.ToShortDateString()</span>
                    }
                }
            </Template>
        </GridColumn>
        <GridCommandColumn>
            <GridCommandButton Icon="FontIcon.EditTools" OnClick="OnEditChecklistButtonClick" />
            <GridCommandButton Icon="FontIcon.PaperPlane" OnClick="OnAssignChecklistButtonClick" />
        </GridCommandColumn>
    </GridColumns>
    <DetailTemplate Context="checklist">
        <CustomerChecklistGrid ChecklistId="checklist.Id" OnEditCustomerChecklistButtonClick="OnEditCustomerChecklistButtonClick" OnNavigateToCustomerChecklistButtonClick="OnNavigateToCustomerChecklistButtonClick" />
    </DetailTemplate>
</TelerikGrid>

This is the `CustomerChecklistGrid` code inserted into the DetailTemplate of the Grid above:


<TelerikGrid @ref="_grid" TItem="CustomerChecklistModel" Pageable Page="_settings.CurrentPageNumber" PageSize="_settings.Limit" OnRead="OnPageReadAsync">
    <GridToolBarTemplate>
        <CustomerSelect OnCustomerSelected="OnCustomerSelected" SelectedCustomerId="_settings.SelectedCustomerId" Width="250px" />
    </GridToolBarTemplate>
    <GridColumns>
        <GridColumn Title="ID" Width="50px">
            <Template Context="customerChecklist">
                @{
                    var model = customerChecklist as CustomerChecklistModel;
                    <span>@model.Id</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.Customer"]">
            <Template Context="customerChecklist">
                @{
                    var model = customerChecklist as CustomerChecklistModel;
                    <span>@model.Customer.Name</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["ChecklistsOverview.CompletedOn"]">
            <Template Context="customerChecklist">
                @{
                    var model = customerChecklist as CustomerChecklistModel;
                    @if (model.CompletedOn.HasValue)
                    {
                        <span>@model.CompletedOn.Value.ToShortDateString()</span>
                    }
                    else
                    {
                        <i>@Localizer["ChecklistsOverview.NotCompleted"]</i>
                    }
                }
            </Template>
        </GridColumn>
        <GridCommandColumn Context="customerChecklist">
            <GridCommandButton Icon="FontIcon.EditTools" OnClick="OnEditCustomerChecklistButtonClickAsync" />
            @{
                var model = customerChecklist as CustomerChecklistModel;
                if (!model.CompletedOn.HasValue)
                {
                    <GridCommandButton Icon="FontIcon.PaperPlane" OnClick="OnNavigateToCustomerChecklistButtonClickAsync" />
                }
            }
        </GridCommandColumn>
    </GridColumns>
</TelerikGrid>

This is the backing C# code for the grid:


public partial class CustomerChecklistGrid
{
    [Parameter] public int ChecklistId { get; set; }
    [Parameter] public EventCallback<CustomerChecklistModel> OnEditCustomerChecklistButtonClick { get; set; }
    [Parameter] public EventCallback<CustomerChecklistModel> OnNavigateToCustomerChecklistButtonClick { get; set; }
    [Inject] public ICustomerChecklistService CustomerChecklistService { get; set; }
    [Inject] public IStringLocalizer<SharedResources> Localizer { get; set; }
    [CascadingParameter] public Routes App { get; set; }

    private CustomerChecklistSettings _settings = new();
    private PageResult<CustomerChecklistModel> _data = new();

    private TelerikGrid<CustomerChecklistModel> _grid;

    private async void OnPageReadAsync(GridReadEventArgs args)
    {
        var newOffset = args.Request.PageSize * (args.Request.Page - 1);
        _settings.Offset = newOffset;
        _settings.CurrentPageNumber = args.Request.Page;
        var request = new CustomerChecklistRequestModel
        {
            Offset = _settings.Offset,
            Limit = _settings.Limit,
            ChecklistId = ChecklistId,
            OrderBy = _settings.OrderBy,
            IsCompleted = _settings.IsCompleted,
            CustomerId = _settings.SelectedCustomerId
        };

        _data = await CustomerChecklistService.GetPageAsync(request);
        args.Data = _data.Items;
        args.Total = _data.Total;
        StateHasChanged();
    }

    private void OnCustomerSelected(int customerId)
    {
        _settings.SelectedCustomerId = customerId;
        _settings.CurrentPageNumber = 1;
        _grid.Rebind();
    }

    private async Task OnEditCustomerChecklistButtonClickAsync(GridCommandEventArgs args)
    {
        var customerChecklist = args.Item as CustomerChecklistModel;
        if (OnEditCustomerChecklistButtonClick.HasDelegate)
        {
            await OnEditCustomerChecklistButtonClick.InvokeAsync(customerChecklist);
        }
    }

    private async Task OnNavigateToCustomerChecklistButtonClickAsync(GridCommandEventArgs args)
    {
        var customerChecklist = args.Item as CustomerChecklistModel;
        if (OnNavigateToCustomerChecklistButtonClick.HasDelegate)
        {
            await OnNavigateToCustomerChecklistButtonClick.InvokeAsync(customerChecklist);
        }
    }

    private sealed class CustomerChecklistSettings
    {
        public int Offset { get; set; }
        public int Limit { get; set; } = 25;
        public int CurrentPageNumber { get; set; } = 1;
        public int? SelectedCustomerId { get; set; }
        public bool? IsCompleted { get; set; }
        public string OrderBy { get; set; } = "customer";
    }
}

This is a screenshot of the UI I'm seeing. I'm expecting data to show up in the inner grid, data gets loaded correctly (when debugging I see data is available), however no records are shown.

Unplanned
Last Updated: 02 Jul 2024 07:52 by ADMIN

Hello, 

 

I use the scheduler component with grouping ressources on a timeline view. 

When there is only one ressource for the second group, there is no text showing on the view.

It works with 2 ressources.

I try over your demo and i have the same result.

https://blazorrepl.telerik.com/GyYAmBGE22N2CcIQ27

 

 

When I use 2 ressources it works.

Thank you

 

Unplanned
Last Updated: 26 Jul 2024 13:35 by ADMIN
Created by: Janick
Comments: 4
Category: Scheduler
Type: Feature Request
1
When the Scheduler works with a large dataset the rendering can get laggy. I need to use a rendering optimization feature such as the virtual scrolling in the Grid. 
1 2 3 4 5 6