Planned
Last Updated: 07 Oct 2026 06:26 by ADMIN
Scheduled for 2026 (Nov)
Loading Groups on Demand in a column with a nullable data type groups all records under the "Null" group
Unplanned
Last Updated: 06 Oct 2026 18:38 by ADMIN

I'm trying to use the Blazor editor but the "Insert Image" function is very basic. Previously using Webforms & Core the insert image in the editor presented the user with a file management and image upload popup. Is this functionality available with the Blazor component?

 

=====ADMIN EDIT=====

Possible alternative:

  1. Utilize a custom Editor's tool that opens a Window or Dialog containing a FileManager.
  2. Use the FileManager's SelectedItemsChanged event to determine which image the user wants to insert into the Editor.
  3. Programmatically execute the Editor's insertImage command.
Unplanned
Last Updated: 06 Oct 2026 18:37 by ADMIN
Created by: Sebastian
Comments: 2
Category: PDFViewer
Type: Bug Report
1
  • The PDF Viewer does not display the initial file if Zoom is set to FitToWidth or FitToPage. This is due to --scale-factor: NaN; --total-scale-factor: NaN; set on the PDF Viewer element.
  • If the PDF Viewer initially shows with no loaded file, setting Zoom to FitToWidth or FitToPage initially or after opening a file leads to infinity zoom due to --scale-factor: Infinity; --total-scale-factor: Infinity; set on the PDF Viewer element.

The only scenario that works is to set the initial Zoom to a numeric value and have an open file by default.

In Development
Last Updated: 06 Oct 2026 18:27 by ADMIN
Scheduled for 2026 (Nov)

The Font Size and Font Family tools display the currently applied style value in the user selection only if the selection is inside one HTML element. This prevents the user from resetting (removing) the current font style.

Test scenario:

  1. Select all the Editor content and apply a custom font size or font family.
  2. Select content, which has the same styles applied (for example, the 2nd and 3rd "foo" on line 1).
  3. Select content, which has different styles applies (for example, the 1st and 2nd "foo" on line 1).
  4. Select content in multiple paragraphs (for example, the last "foo" and the first "bar").

@using Telerik.Blazor.Components.Editor

<TelerikEditor @bind-Value="@EditorValue"
               Tools="@EditorToolSets.All" />

<h2>Raw Editor Value</h2>

<TelerikTextArea @bind-Value="@EditorValue"
                 Rows="5" />

@code {
    private string EditorValue { get; set; } = @"<p><strong>Foo</strong> foo foo.</p><p>Bar <strong>bar</strong> bar.</p><p>Baz baz <strong>baz</strong>.</p>";
}

The possible workarounds are:

  • Reset (remove) the font styles separately for each HTML element.
  • Set another font style instead of resetting it.
Completed
Last Updated: 06 Oct 2026 18:26 by ADMIN
Release 2026 (Oct)

Hello,

We've come across a bug. It seems as whatever tool button(s) that should be selected is not shown correctly. It appears to show the previously selected.

 

Repro steps:

  1. Write two different formatted texts on separate lines in your Editor component.
  2. Move the cursor to the first line
  3. Move the cursor to the second line that has a different formatted text. Note that the tool button for the formatted text on the first line is shown as selected.

    This should happen:

 

Is this an intended behaviour? Our users are confused :)

/Patrik

Completed
Last Updated: 06 Oct 2026 18:25 by ADMIN
Release 2026 (Oct)

When double-clicking a task in the Gantt Timeline, the popup edit form may not appear. Instead, the vertical blue band for task dragging may show.

The problem is more likely to occur when using a touchpad.

Planned
Last Updated: 06 Oct 2026 18:08 by ADMIN
Scheduled for 2026 (Nov)
Created by: David
Comments: 3
Category: Editor
Type: Feature Request
3

Support multiple users editing the same content in an editor.

This would be similar to the editor in something like confluence or online Word.

Regards

 

In Development
Last Updated: 06 Oct 2026 17:11 by ADMIN
Scheduled for 2026 (Nov)
Created by: Andrew
Comments: 0
Category: Scheduler
Type: Feature Request
3
I just updated my telerik libraries and the new Scheduler doesn't show the YEAR in the header like the old Scheduler component. It would be nice to be able to control the format of that SchedulerToolBarCalendarTool subcomponent of the Scheduler. Thanks!
In Development
Last Updated: 06 Oct 2026 16:02 by ADMIN
Scheduled for 2026 (Nov)
Created by: Santiago
Comments: 0
Category: ComboBox
Type: Bug Report
4

(Also applies to AutoComplete, DropDownList, MultiSelect, MultiColumnComboBox).

When using Height="auto" in the popup settings and filtering with a dropdown above the component, the dropdown detaches from the main component.

<ComboBoxPopupSettings Height="auto"></ComboBoxPopupSettings>

https://blazorrepl.telerik.com/cKkSQGFO50ovCpr829

A possible workaround is to use a MaxHeight that is less than half the browser viewport.

<ComboBoxPopupSettings Height="auto" MaxHeight="45vh"></ComboBoxPopupSettings>

In Development
Last Updated: 06 Oct 2026 16:02 by ADMIN
Scheduled for 2026 (Nov)

Example:

<PageTitle>Home</PageTitle>

<div>
    <TelerikTextBox Width="20rem" Placeholder="Pallet" DebounceDelay="1000" @bind-Value="@_textInput" OnChange="@(async (input) => await OnInputChanged(input))" />
</div>
<p>@_textInput</p>


@code {
    private string? _textInput;

    private async Task OnInputChanged(object input)
    {
        Console.WriteLine($"Immediate: function parameter: {input}, bound variable: {_textInput}");
        await Task.Delay(1000);
        Console.WriteLine($"Delayed: function parameter: {input}, bound variable: {_textInput}");
        //Make the OnChange event receive the immediate value when the DebounceDelay is set
    }
}

The DebounceDelay is set to 1 second to highlight the behavior, although we have observed it with delays less than 100 milliseconds when the input is from a barcode scanner and the Enter is part of the scan. Start the sample, type "123" in the input, and hit enter within 1 second.

The output in the console is:
Immediate: function parameter: , bound variable:
Delayed: function parameter: , bound variable: 123

Unplanned
Last Updated: 06 Oct 2026 15:49 by ADMIN
Created by: Lee
Comments: 0
Category: Charts
Type: Feature Request
1
Add Chart tooltip positioning capabilities, for example: Top, Right, Bottom, Left.

Due to the lack of an option to specify position, the tooltips  cover part of the line markers, e.g., in a horizontal line Chart scenario. 
Unplanned
Last Updated: 06 Oct 2026 15:36 by ADMIN

The NOW button in the TimePicker's TimeView sets the time value, according to the server's time zone. Instead, it should use the client-side (user) time zone.

===

Telerik edit:

In the meantime, you can subscribe to the TimePicker's ValueChanged event and detect when the user clicks on Now. In such cases, the event handler will receive the current server time with a small margin of error, that depends on the latency.

<TelerikTimePicker Value="@TimePickerValue"
                   ValueChanged="@( (DateTime? d) => TimePickerValueChanged(d) )">
</TelerikTimePicker>

@code {
    private DateTime? TimePickerValue { get; set; }

    private void TimePickerValueChanged(DateTime? newValue)
    {
        if (newValue.HasValue && newValue - DateTime.Now < new TimeSpan(0, 0, 1))
        {
            // Retrieve and set the correct user's local time. The dummy code below is just for testing.
            TimePickerValue = DateTime.Now.AddMinutes(2);
        }
        else
        {
            TimePickerValue = newValue;
        }
    }
}

Unplanned
Last Updated: 06 Oct 2026 15:36 by ADMIN
Created by: Rick
Comments: 2
Category: Switch
Type: Feature Request
8

I would like to see icon support for the switch control.  See the attached screen shot for the use case.

Unplanned
Last Updated: 06 Oct 2026 15:35 by ADMIN

Try with culture es-ES and you will see the problem.

When es-ES, "dot [.]" is not a decimal separator, therefore you can't use the "NumpadDecimal" key to write a decimal number.

@using System.Globalization

<b>Culture:</b> @CultureInfo.CurrentCulture.Name;
<br />
<b>Culture UI:</b> @CultureInfo.CurrentUICulture.Name
<br />
<b>DefaultThreadCurrentCulture:</b> @CultureInfo.DefaultThreadCurrentCulture?.Name
<br />
<b>DefaultThreadCurrentUICulture:</b> @CultureInfo.DefaultThreadCurrentUICulture?.Name
<br /><br />
<b>Val 1:</b>
<TelerikNumericTextBox @bind-Value="@Val1" Decimals="6" Width="100px" />
&nbsp;&nbsp;
<TelerikNumericTextBox @bind-Value="@Val1" Decimals="6" Width="100px" />
<input type="number" @bind-value="@Val1" step="any" style="width: 100px" />

<br />
<b>Val 2:</b>
<input type="number" @bind-value="@Val2" step="any" style="width: 100px" />
&nbsp;&nbsp;
<input type="number" @bind-value="@Val2" step="any" style="width: 100px" />

@code {
    decimal Val1 { get; set; }
    decimal Val2 { get; set; }

    protected override void OnInitialized()
    {
        CultureInfo.CurrentCulture = CultureInfo.CurrentUICulture = CultureInfo.DefaultThreadCurrentCulture = CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("es-ES");
        //CultureInfo.CurrentCulture = CultureInfo.CurrentUICulture = CultureInfo.DefaultThreadCurrentCulture = CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("en-US");
    }
}

 

[ADMIN EDIT]

In general, our components obey the culture that is set in the application. If the current culture requires a "," decimal separator, our component will accept commas and ignore dots. Our component doesn't know if the user is pressing the decimal separator key on the numeric pad, or the "standard"  [ > . ] key.

What we can do to improve the behavior is to implement a feature for automatic handling of the decimal separator character. In other words, if the component detects invalid decimal separator input, it will switch to the correct one. This feature will handle the Numpad key and output it in the right culture.

Here is a possible workaround that uses JavaScript to intercept the "other" decimal separator and insert the "correct" one in the NumericTextBox.

@inject IJSRuntime js

<span @onkeydown="@( (KeyboardEventArgs args) => OnSpanKeyDown(args, "ntb1") )">
    <TelerikNumericTextBox @bind-Value="@DValue"
                           Width="200px"
                           Id="ntb1" />
</span>

Code: @LogCode , Key: @LogKey

<!-- Move JS to external JS file in production apps -->
<script suppress-error="BL9992">
    function addDot(ntbId) {
        var textbox = document.querySelector("#" + ntbId);
        if (textbox && textbox.value.indexOf(".") == -1) { // or ","
            textbox.value += "."; // or ","
        }
    }
</script>

@code {
    decimal DValue { get; set; }

    string LogCode { get; set; }
    string LogKey { get; set; }

    async Task OnSpanKeyDown(KeyboardEventArgs args, string ntbId)
    {
        LogCode = args.Code;
        LogKey = args.Key;

        if (args.Key == ",") // or "."
        {
            await js.InvokeVoidAsync("addDot", ntbId);
        }
    }
}

Another option in the meantime is to use a standard HTML input or InputNumber with the Telerik CSS class "k-textbox". This way the input will look the same as a Telerik textbox and keep the app look consistent.

In Development
Last Updated: 06 Oct 2026 15:35 by ADMIN
Scheduled for 2026 (Nov)
Created by: Kees
Comments: 5
Category: FileManager
Type: Feature Request
51

The ability to choose which options to appear in the ContextMenu.

=====

TELERIK EDIT: In the meantime, here is how to hide context menu items with CSS:

    /* Hide the Rename item in the FileManager context menu */
    .k-context-menu:has(.k-svg-i-download) .k-menu-item:nth-of-type(1) {
        display: none;
    }

    /* Hide the Delete item in the FileManager context menu */
    .k-context-menu:has(.k-svg-i-download) .k-menu-item:nth-of-type(3) {
        display: none;
    }

Here is a complete example: https://blazorrepl.telerik.com/cpPkuBEq408A36p010

 

In Development
Last Updated: 06 Oct 2026 15:33 by ADMIN
Scheduled for 2026 (Nov)
Created by: Doug
Comments: 3
Category: DateTimePicker
Type: Feature Request
20

With Blazor server, clicking the NOW button (obviously) sets the time to the time on the server since that's where the code is running. Is there a way to trap the NOW button click or somehow give it an offset or define the value that NOW means so NOW will mean the time that the user is sitting in?

---

TELERIK EDIT

In the meantime, here are a few possible workarounds:

1. Use the DateTimePicker's ValueChanged event to detect new values that are very close or match the server's current DateTime. In such cases, you can assume that the user has clicked on TODAY / NOW, and set the local user time as a component value.

Server Time on UI Refresh: @DateTime.Now.ToLongTimeString()
<br />
User Local Time on Page Load: @LocalTime?.ToLongTimeString()
<br />
User Local Time Offset: @LocalOffset
<br />
<br />

<TelerikDateTimePicker Value="@PickerValue"
                       ValueChanged="@( (DateTime? newValue) => PickerValueChanged(newValue) )"
                       ValueExpression="@( () => LocalTime )"
                       Format="yyyy-MMM-dd HH:mm:ss"
                       Width="240px" />

<!-- Move JS code to a separate JS file in production -->
<script suppress-error="BL9992">
    function getLocalTime() {
        var d = new Date();
        return d.getTimezoneOffset();
    }
</script>

@code {
    private DateTime? PickerValue { get; set; }
    private DateTime? LocalTime { get; set; }
    private int LocalOffset { get; set; }

    private void PickerValueChanged(DateTime? newValue)
    {
        DateTime serverNow = DateTime.Now;
        DateTime utcNow = DateTime.UtcNow;
        TimeSpan nowTolerance = new TimeSpan(0, 0, 10);

        if (newValue - serverNow < nowTolerance)
        {
            PickerValue = utcNow.AddMinutes(-LocalOffset);
        }
        else
        {
            PickerValue = newValue;
        }
    }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            LocalOffset = await js.InvokeAsync<int>("getLocalTime");
            LocalTime = DateTime.UtcNow.AddMinutes(-LocalOffset);
            StateHasChanged();
        }

        await base.OnAfterRenderAsync(firstRender);
    }
}

 

2. Use the DatePicker's HeaderTemplate with a custom TODAY / NOW button. 

3. Hide the NOW button with CSS:

<style>
    .no-now-button .k-time-now {
        display: none;
    }
</style>

<TelerikDateTimePicker @bind-Value="@PickerValue"
                       Format="yyyy-MMM-dd HH:mm:ss"
                       PopupClass="no-now-button"
                       Width="240px" />

@code {
    private DateTime? PickerValue { get; set; }
}

 

Completed
Last Updated: 06 Oct 2026 15:30 by ADMIN
Release 2026 (Oct)
Created by: Andreas
Comments: 1
Category: Editor
Type: Bug Report
0

Even if setting ReadOnly="true", tables in the Editor can be resized...

This only happens in Iframe mode!


<TelerikEditor Height="300px" @bind-Value="@Value" EditMode="Telerik.Blazor.EditorEditMode.Iframe" ReadOnly="true">
</TelerikEditor>

@code {
    public string Value { get; set; } =
            @"
<table>
    <tbody>
        <tr>
            <td>
               Some text
            </td>
        </tr>
        <tr style=""height: 24px"">
        </tr>
        <tr>
            <td>
                Some text
            </td>
        </tr>
    </tbody>
</table>
    ";
}

In Development
Last Updated: 06 Oct 2026 14:46 by ADMIN
Scheduled for 2026 (Nov)

 

Hello,

The issue can be reproduced in a Grid with column virtualization enabled and Navigable set to true. Please run this REPL snippet https://blazorrepl.telerik.com/QHusmyOJ027Rp5Ok38, click on any column, the appropriate row will be selected and the corresponding table cell will be focused. Try to navigate to the right by using Right cursor key - you will not be able to navigate through the whole table, values in last columns will not be displayed and the grid seems think they are in the same cell with User Number in my particular case. When you use Left cursor key and then the Right one again you will not be able to see even these columns headers.

I attached a small video to better demonstarte the issue on my particular machine.

Very thanks.

Miroslav

 

Unplanned
Last Updated: 06 Oct 2026 14:44 by ADMIN
I modified this sample app: https://github.com/telerik/blazor-ui/tree/master/grid/datasourcerequest-on-server/WebApiFromServerApp.

I am trying to add aggregation to the grouping and display them in the group footers. I am successfully returning the aggregated values but they are not displayed in the GroupFooterTemplate.
Unplanned
Last Updated: 06 Oct 2026 05:57 by Brian
Created by: Brian
Comments: 0
Category: Upload
Type: Feature Request
1
Add a MaxConcurrent that would allow to control how many files can be uploaded simultaneously to the server at any given time.
1 2 3 4 5 6