Completed
Last Updated: 16 Jun 2026 13:52 by ADMIN

The problem at hand arises when attempting to update the CheckedItems property of a TreeView control from within an async method.

The problem seems to be timing-related and is not always reproducible. The issue is observed most often when starting the project. It seems to be reproducible only in Blazor Server App.

Reproduction:
To reproduce the issue, try running the following snippet in a Blazor Server App.

 

@page "/"
<TelerikTreeView Data="@FlatData"
                 CheckBoxMode="@TreeViewCheckBoxMode.Multiple"
                 CheckParents="@true"
                 CheckChildren="@true"
                 CheckOnClick="@false"
                 @bind-CheckedItems="@SelectedItems">
</TelerikTreeView>

@code {
    List<TreeItem> FlatData { get; set; }
    IEnumerable<object> SelectedItems { get; set; } = new List<object>();
    protected override async Task OnInitializedAsync()
    {
        await GenerateData();
        await SelectDefault();
    }

    async Task SelectDefault()
    {
        await Task.Delay(100);
        SelectedItems = FlatData.Where(data => data.Id == 2);
    }
#pragma warning disable
    async Task GenerateData()
    {
        FlatData = new List<TreeItem>();

        FlatData.Add(new TreeItem()
            {
                Id = 1,
                Text = "Project",
                ParentId = null,
                HasChildren = true,
                Icon = "folder",
                Expanded = true
            });

        FlatData.Add(new TreeItem()
            {
                Id = 2,
                Text = "Design",
                ParentId = 1,
                HasChildren = true,
                Icon = "brush",
                Expanded = true
            });
        FlatData.Add(new TreeItem()
            {
                Id = 3,
                Text = "Implementation",
                ParentId = 1,
                HasChildren = true,
                Icon = "folder",
                Expanded = true
            });
    }

    public class TreeItem
    {
        public int Id { get; set; }
        public string Text { get; set; }
        public int? ParentId { get; set; }
        public bool HasChildren { get; set; }
        public string Icon { get; set; }
        public bool Expanded { get; set; }
    }
}

The second TreeItem should be selected.

 

 

Completed
Last Updated: 16 Jun 2026 13:42 by ADMIN

If the Height parameter is not specified, in the Gantt tree list, every line after the number of lines of the initial display are not shown.

 

The steps are easy to reproduce:

Start from the official Gantt Demo in the REPL and simply remove the Height parameter from TelerikGantt.

If you do this, you will see that opening the children of the first and only element in the tree list will show everything correctly in the Timeline part (if no mistake) but doesn't show the children lines in the TreeList part.

 

Therefore, I believe, the Height parameter should become mandatory until we can allow the height of the Gantt to be dynamic without rendering issues.
Completed
Last Updated: 16 Jun 2026 13:41 by ADMIN
The keyboard navigation within the Editor’s toolbar does not behave as expected. For instance, when using custom tools, the Format dropdown cannot be navigated with the arrow keys: https://blazorrepl.telerik.com/QTOLEsFe05z7yxMY43
Completed
Last Updated: 16 Jun 2026 13:39 by ADMIN

I've determined that the TelerikDateTimePicker does not work properly on mobile devices when using AdaptiveMode.Auto. Attached are videos of the component's behaviour in both modes (None, and Auto).

Immediately after interacting with the fullscreen popup of the datepicker, I see this error in the console:

RAW:
telerik-blazor.js:50 Uncaught TypeError: r.isParent is not a function

    at p.isChild (telerik-blazor.js:50:1362352)
    at f.closePopup (telerik-blazor.js:50:1398427)
    at HTMLHtmlElement.onMouseDown (telerik-blazor.js:50:1397246)

Code:

@using Telerik.Blazor.Components
@using Telerik.Blazor

<TelerikFloatingLabel Text="Date & Time">
    <TelerikDateTimePicker Id="date-picker" @bind-Value="MyFormModel.Date" Max="@DateTime.Now.AddDays(1)"
                           Format="@DATE_FORMAT" AdaptiveMode="AdaptiveMode.Auto"
                           FillMode="@Telerik.Blazor.ThemeConstants.DateTimePicker.FillMode.Flat" />
</TelerikFloatingLabel>
@code {
    private FormModel MyFormModel { get; set; } = new FormModel();
    private const string DATE_FORMAT = "MM/dd/yyyy HH:mm";

    private class FormModel
    {
        public DateTime Date { get; set; }
    }
}

Notes:
- If we remove all of the parent components wrapping the DatePicker, it seems to function properly, but the errors remain in the console. This isn't a solution, however.

Completed
Last Updated: 16 Jun 2026 13:38 by ADMIN

When Adaptive = true, changing the collection of buttons seems to "break" the adaptive calculation. The Toolbar fails to determine what are the buttons to show in the main element and what are the buttons to show in the pop-up: https://blazorrepl.telerik.com/wSubOWlS08FLz7aZ54

===

ADMIN EDIT

For the time being, a possible workaround is to force the component to refresh when you change the buttons. For that purpose, you can dispose it and re-initialize it after some delay. Here is a runnable sample: https://blazorrepl.telerik.com/QIOFuCvS400o5tfL34.

Completed
Last Updated: 16 Jun 2026 13:00 by ADMIN
Release 2026 Q1 (Feb)

This is a continuation of public item DatePicker, TimePicker and DateTimePicker should accept null value as valid when bound to nullable DateTime

The problem persist when:

  • The component Format includes a week day.
  • The component Format is set with a standard date format string (d, D, g, etc.)

Test page with workarounds:

Bug due to week day format string inconsistency between .NET and JavaScript (dddd vs EEEE):

<TelerikDateTimePicker @bind-Value="@SelectedTime"
                       ShowClearButton="true"
                       Width="360px">
    <DateTimePickerFormatPlaceholder Weekday="week" />
</TelerikDateTimePicker>

<br />
<br />

Bug due to usage of a standard date format string:

<TelerikDatePicker @bind-Value="@SelectedTime"
                   ShowClearButton="true"
                   Format="d"
                   Width="360px">
    <DateTimePickerFormatPlaceholder Day="dd" Month="mm" Year="yyyy" />
</TelerikDatePicker>

@code {
    private DateTime? SelectedTime = DateTime.Now;
}

 

Completed
Last Updated: 16 Jun 2026 11:31 by ADMIN

For some reason I'm unable to select the date 01/03/2000 when using the date picker to select the date. Only thing special about this date is its exactly 24 years ago today.

I was able to reproduce in repl. https://blazorrepl.telerik.com/QyYFkdbU34QbG0Te32

I also attached a video so you can review the steps followed and result.

 

 

Completed
Last Updated: 10 Jun 2026 14:09 by ADMIN
Release 2026 Q2
If you focus an item, you can resize it with "Ctrl+Arrow keys". If you for example press "Ctrl+Arrow up", the items vertical size shrinks. If you do that repeatedly, it becomes less than 0. If you want to increase the size again, you first have to undo all that negativity, before the items grows again. Ideally, the code should only reduce "ColSpan" and "RowSpan" if its current value is greater than 1.
Completed
Last Updated: 10 Jun 2026 14:08 by ADMIN
Release 2026 Q2
The EventCallbacks "OnResize" and "OnReorder" only get invoked when a user is performing the appropriate actions with the mouse, not when using keyboard navigation.
Completed
Last Updated: 10 Jun 2026 06:47 by ADMIN
Release 2026 Q2
The DropDownTree OnChange event fires twice on item selection. Unlike other components like DropDownList or ComboBox, OnChange does not fire on blur. 
Completed
Last Updated: 08 Jun 2026 10:43 by ADMIN
Release 2026 Q3 (Aug)

The problem with the extra characters at the beginning of the PDF document has resurfaced.

The bytes returned by GetFileAsync() don't start with %PDF-, but with JS.ReceiveByteArray. Some PDF readers and my antivirus flag the file as corrupt or suspicious. I worked around it by stripping everything before the first %PDF- occurrence in the bytes before writing to disk.

Completed
Last Updated: 08 Jun 2026 07:07 by ADMIN
Release 2026 Q3 (Aug)
Created by: Adam
Comments: 1
Category: Grid
Type: Bug Report
1

The Grid performance worsens progressively with each subsequent edit operation. Please optimize that.

Test page: https://blazorrepl.telerik.com/mJuHFNbb17FpJu9b54

Click on a Price or Quantity cell to start edit mode and tab repetitively to observe the degradation.

Completed
Last Updated: 05 Jun 2026 10:31 by ADMIN
Release 2026 Q3 (Aug)

The window actions OnClick handler does not execute when a predefined action (e.g. Close) is triggered. This prevents custom logic from running during standard close operations.

Reproducible on version 14.0.0

Repro: https://blazorrepl.telerik.com/wqaJcWbu45qZxbeX49

 

Completed
Last Updated: 05 Jun 2026 10:30 by ADMIN
Release 2026 Q3 (Aug)
The TelerikTooltip component does not currently provide a way to select the Fit/Flip collision settings for the underlying common popup component (horizontal is Fit and vertical is Flip, always). Additionally, there is no support for horizontal flipping of the tooltip popup in the underlying JSInterop code for the TelerikTooltip, only vertical flipping. Please consider adding the ability to set both the horizontal and vertical collision settings (Fit/Flip) on the TelerikTooltip component via parameters and supporting horizontal flipping. See the TelerikPopup component for reference on the parameters.
Completed
Last Updated: 05 Jun 2026 10:30 by ADMIN
Release 2026 Q3 (Aug)
Created by: Andre
Comments: 3
Category: Wizard
Type: Feature Request
14

 The disable option is still showing the step and it is not good for me. I have 35 types of transactions and all of them have generic and specific step.

---

ADMIN EDIT

Here is a potential workaround - basic conditional markup can add or remove steps. The key thing is that they will be added to the end of the wizard if they had not been rendered. To handle this, dispose and re-initialize the component, so the step will be rendered at the correct position.

If you have complex steps, you can work around this by creating a collection of descriptor models for the list of steps and create the steps based on that collection, where you can keep the VIsible flag, in a fashion similar to this example for the TabStrip.

<TelerikButton OnClick="@ToggleStep">Toggle attachments step visibility</TelerikButton>

@if (WizardVisible)
{
    <TelerikWizard @bind-Value="@CurrStepIndex">
        <WizardSteps>
            <WizardStep Label="Personal Details" Icon="SvgIcon.User">
                <Content>
                    content here
                </Content>
            </WizardStep>

            @if (AttachmentsStepVisible)
            {
                <WizardStep Label="Attachments" Icon="SvgIcon.Paperclip">
                    <Content>
                        conditional content here
                    </Content>
                </WizardStep>
            }

            <WizardStep Label="Confirmation" Icon="SvgIcon.Check">
                <Content>
                    other content here
                </Content>
            </WizardStep>
        </WizardSteps>
    </TelerikWizard>
}


@code {
    private bool AttachmentsStepVisible { get; set; }
    private bool WizardVisible { get; set; } = true;

    private int CurrStepIndex { get; set; }

    private async void ToggleStep()
    {
        //dispose the Wizard
        WizardVisible = false;

        // defence against hiding the step when it is the last step, which would cause an exception
        if (AttachmentsStepVisible && CurrStepIndex == 2)
        {
            CurrStepIndex = 1;
        }

        //the actual visibility toggle
        AttachmentsStepVisible = !AttachmentsStepVisible;

        //allow some time for the disposal and toggling the step visibility prior to re-initialization
        await Task.Delay(10);

        //re-initialize the Wizard
        WizardVisible = true;

        StateHasChanged();
    }
}

---

Completed
Last Updated: 05 Jun 2026 07:48 by ADMIN
Release 2026 Q3 (Aug)

The CheckBoxList filter does not work as expected when the Grid is bound to ExpandoObject

===

ADMIN EDIT: A possible workaround is to bind the Grid with OnRead event and populate the MemberType property of the filter descriptors manually:

@using System.Dynamic
@using Telerik.DataSource
@using Telerik.DataSource.Extensions

<TelerikGrid OnRead="@OnGridRead"
             TItem="@ExpandoObject"
             Pageable="true"
             Sortable="true"
             FilterMode="@GridFilterMode.FilterMenu"
             FilterMenuType="@FilterMenuType.CheckBoxList"
             Height="400px">
    <GridToolBarTemplate>
        <GridSearchBox />
    </GridToolBarTemplate>
    <GridColumns>
        @{
            if (GridData != null && GridData.Any())
            {
                <GridColumn Field="PropertyInt" FieldType="@GridPropertyTypes["PropertyInt"]" />
                <GridColumn Field="PropertyString" FieldType="@GridPropertyTypes["PropertyString"]" />
                <GridColumn Field="PropertyGroup" FieldType="@GridPropertyTypes["PropertyString"]" />
                <GridColumn Field="PropertyDate" FieldType="@GridPropertyTypes["PropertyDate"]" />
                <GridColumn Field="PropertyBool" FieldType="@GridPropertyTypes["PropertyBool"]" />
            }
        }
    </GridColumns>
</TelerikGrid>

@code {
    private List<ExpandoObject> GridData { get; set; } = new List<ExpandoObject>();

    private Dictionary<string, Type> GridPropertyTypes { get; set; } = new Dictionary<string, Type>() {
        { "Id", typeof(int) },
        { "PropertyInt", typeof(int) },
        { "PropertyString", typeof(string) },
        { "PropertyGroup", typeof(string) },
        { "PropertyDate", typeof(DateTime) },
        { "PropertyBool", typeof(bool) }
    };

    private async Task OnGridRead(GridReadEventArgs args)
    {
        args.Request.Filters.OfType<CompositeFilterDescriptor>()
        .Each(x =>
        {
            x.FilterDescriptors.OfType<FilterDescriptor>()
                .Each(y => y.MemberType = GridPropertyTypes[y.Member]);
        });

        var result = GridData.ToDataSourceResult(args.Request);

        args.Data = result.Data;
        args.Total = result.Total;
        args.AggregateResults = result.AggregateResults;
    }

    protected override void OnInitialized()
    {
        for (int i = 1; i <= 18; i++)
        {
            dynamic expando = new ExpandoObject();

            expando.Id = i;
            expando.PropertyGroup = $"Group {(i % 3 + 1)}";
            expando.PropertyInt = i;
            expando.PropertyString = $"String {(char)(64 + i)}{(char)(64 + i)}";
            expando.PropertyDate = DateTime.Now.AddMonths(-i);
            expando.PropertyBool = i % 2 != 0;

            GridData.Add(expando);
        }
    }
}

Completed
Last Updated: 05 Jun 2026 07:42 by ADMIN
Release 2026 Q3 (Aug)
Created by: Adam
Comments: 4
Category: Filter
Type: Feature Request
8
We have a large number of fields and it will be useful if we have a search box in the field dropdown to filter them - in a similar fashion to how filtering works in the DropDownList component.
Completed
Last Updated: 03 Jun 2026 06:37 by ADMIN
Release 7.0.0

The issue is reproducible when the `AllowCustom` parameter is set to `true`.
Typing rapidly in the input field of the MultiColumnComboBox component causes the entered text to blink. Also, some of the inserted symbols are cleared.

Reproduction (if bug)

Open this demo: https://demos.telerik.com/blazor-ui/multicolumncombobox/custom-values

Try to input text rapidly into the input field.

Completed
Last Updated: 02 Jun 2026 11:54 by ADMIN
Release 14.0.0

The PDF standard allows two ways to configure Acro fields and relate them to inputs (widget annotations):

  1. The field can be independent of the input widget. There can even be multiple inputs that point to the same field.
  2. The field and the widget can be represented by the same object in the PDF file.

Adobe Acrobat supports both options. Telerik PdfProcessing supports only the first option, which is more commonly used. The PDF Viewer supports only the second option. If the PDF Viewer loads a file with the first configuration, the component saves new field values in such a way that they can't be retrieved by PdfProcessing. Moreover, if the PDF file is opened locally, it looks like the new values are there, but when you click on a field, the original value shows. The new value behaves like a placeholder rather than a real value.

To Reproduce

  1. Open a file with Acro fields in the PDF Viewer with enabled form filling
  2. Edit the fields and save the file.
  3. Open the file with a desktop client like Adobe Acrobat Reader.
  4. Click on a textbox.
  5. Result - the old value shows. Instead, the new value should persist.
Completed
Last Updated: 02 Jun 2026 10:17 by ADMIN
Release 2026 Q3 (Aug)
Created by: n/a
Comments: 1
Category: SplitButton
Type: Feature Request
10
I'd like to be able to programmatically open/close the popup of the SplitButton. For example, open it on click of the main button.
1 2 3 4 5 6