This bug already was fixed in the "UI for Blazor 5.0.0" ("ComboBox dropdown will not open or close in Safari")
https://www.telerik.com/support/whats-new/blazor-ui/release-history/ui-for-blazor-5-0-0
I have "Telerik UI for Blazor 13.3.0" on Safari 26.0 and 26.5
This is can be fixed by "Clicking outside the component can mitigate the problem"
Hello,
I'm using Telerik.UI.for.Blazor version 7.1.0 and I'm trying to automatically translate the telerik components (specifically, a TelerikTreeList but there wil be more) following the tutorial on https://www.telerik.com/blazor-ui/documentation/globalization/localization but they are not being translated.
public class TelerikLocalizer : ITelerikStringLocalizer
{
public string this[string key] => TelerikMessages.ResourceManager.GetString(key, TelerikMessages.Culture) ?? key;
}services.AddSingleton<ITelerikStringLocalizer, TelerikLocalizer>();
services.AddLocalization(options => options.ResourcesPath = "Properties");
services.AddTelerikBlazor();Finally, in my App.razor.cs class, I have set the default culture to spanish as follows:
var newCulture = new CultureInfo("es-ES")
{
DateTimeFormat =
{
ShortDatePattern = DateTimeFormatter.ShortDateFormat,
ShortTimePattern = DateTimeFormatter.HourFormat
}
};
CultureInfo.DefaultThreadCurrentCulture = newCulture;
CultureInfo.DefaultThreadCurrentUICulture = newCulture;
Thread.CurrentThread.CurrentCulture = newCulture;
Thread.CurrentThread.CurrentUICulture = newCulture;However, when I go to the TelerikTreeList, the tooltip of pages and the number of items are still in english, as you can see in the attached image. What am I doing wrong?
Thank you for your support.
Román
My project is a windows service that hosts a blazor web site and api. When deployed using an MSI, Telerik says it is not licensed. What must be done with the license file to ensure it is registered?
int portNumber =
builder.Configuration.GetValue<int>(
"Kestrel:Startup:Port");
builder.Host.UseWindowsService();
builder.WebHost.UseKestrel(options =>
{
options.Listen(IPAddress.Loopback, portNumber);
});
Following your previous help on the resource column width issue, I have a similar question about row height in the timeline view.
I would like to reduce the height of the resource rows to display more resources on screen.
When I try to reduce the row height using CSS on .k-scheduler-row (e.g. min-height: 20px ), the rows do get smaller but the appointments become misaligned — their vertical position is calculated based on the original row height, not the new one.
I saw this was a requested feature but I didn't find updates on the forum.
Is there a way to achieve this ?
Thank you in advance for your answer.
Hi,
I am building a fleet management planning application using the Telerik Blazor Scheduler with around 400 vehicle resources.
Context: I use the Timeline view with vertical grouping and it works perfectly. I also need a Day view, but vertical grouping in Day view is not an option for me — it generates 24 time slots per resource, which makes the page extremely heavy and causes it to crash with 400 resources. So I am using horizontal grouping for the Day view instead.
The problem: With horizontal grouping in Day view and many resources, the resource label columns are very small and the text becomes unreadable. After inspecting the generated HTML, I noticed an "overflox: hidden" rule on the resource label cells that seems to be constraining their width to the minimum available space rather than fitting the content.
I tried removing this CSS rule which makes the text readable, but it breaks the alignment between the resource labels and the scheduler body slots.
My questions:
Thank you in advance.

Hy,
In my web app in blazor .net 10 I use the TelerikQRCode component in one page set as follows:
The encoding is set to UTF-8 because the value contains special characters (such as emojis).
It seems that the component automatically adds some initial BOM bytes to the value, which is passed in a 'clean' way, i.e. without these initial bytes,
This creates a problem for me when I read the data with the scanner reader: I have no problems with the Honeywell scanner, but with the Datalogic scanner, when I read the automatically generated QR code, the string contains the following characters at the beginning: 
Is there a way to fix this issue directly with the Telerik component, without having to modify the configuration of all the Datalogic scanners?
Thanks,
Marco

Hi,
I am building a fleet management planning application using the Telerik Blazor Gantt component. I would like to display a vertical line or marker on the timeline to indicate today's date, similar to a "current time indicator" that visually separates past and future tasks.
I can't seem to find a feature like this in the documentation ? If not, is there a recommended workaround to achieve this ?
Thank you in advance for your help.

Description
When TelerikTextBox is used inside an HTML <form> with DebounceDelay configured, submitting the form (e.g. pressing Enter or clicking a submit button) races against the debounce timer. The ValueChanged callback has not yet fired by the time the form's onsubmit handler runs, so the component's internal state still holds the previous value — not the one the user typed.
The only workaround we found is to await Task.Delay(DebounceDelay + buffer) inside the submit handler to artificially wait for the debounce window to expire before reading the value. This is fragile, unreliable under load, and a clear code smell.
Expected behavior
When the form is submitted, TelerikTextBox should immediately flush its pending debounced value (i.e. fire ValueChanged synchronously or at least before the browser submit event propagates), so the calling component has the correct, up-to-date value at the moment the submit handler runs.
Alternatively, TelerikTextBox should expose a way to imperatively commit the current value (e.g. a public CommitValue() method, or a @ref-accessible flush API).
Steps to reproduce
TelerikTextBox with DebounceDelay inside an HTML <form>.Value + ValueChanged (two-way binding pattern).Enter via @onsubmit.ValueChanged has not fired yet, so the submitted value is stale.
Minimal reproducible example:
@* SearchInput.razor *@
<form @onsubmit="HandleFormSubmit" @onsubmit:preventDefault>
<TelerikTextBox Value="@_value"
ValueChanged="@HandleValueChanged"
Placeholder="Search..."
DebounceDelay="@DebounceDelay" />
<button type="submit">Search</button>
</form>
<p>Submitted value: <strong>@_submittedValue</strong></p>
<p>Current internal value: <strong>@_value</strong></p>
@code {
// Simulates a real-world DebounceDelay parameter passed in by a parent
private int DebounceDelay { get; set; } = 300;
private string _value = string.Empty;
private string _submittedValue = string.Empty;
private void HandleValueChanged(string value)
{
// This fires only after DebounceDelay ms have passed since the last keystroke.
// If the user presses Enter before that window expires, this has NOT been called yet.
_value = value;
}
private async Task HandleFormSubmit()
{
// PROBLEM: at this point, if the user typed and immediately hit Enter,
// _value may still hold the OLD value because HandleValueChanged
// hasn't been called yet (debounce hasn't fired).
// WORKAROUND (bad practice — fragile, timing-dependent):
// await Task.Delay(DebounceDelay + 50);
// What we WANT: a way to tell TelerikTextBox "flush now"
// so that _value is guaranteed to reflect what the user typed.
_submittedValue = _value; // may be stale without the Task.Delay hack
await Task.CompletedTask;
}
}To observe the bug without the workaround:
Task.Delay line.DebounceDelay to something perceptible like 300 ms.Current workaround
private async Task HandleFormSubmit()
{
// Must wait for debounce to expire before _value is reliable
if (DebounceDelay > 0)
await Task.Delay(DebounceDelay + 50); // 50 ms buffer for safety
await OnSubmit.InvokeAsync();
}This is problematic because:
+50 ms) is arbitrary and can still fail under CPU load or slow devices.What we are asking for
One of the following solutions:
Automatic flush on submit — TelerikTextBox should detect that the parent form is being submitted (via a form context or EditContext) and immediately fire ValueChanged with the current raw input value, bypassing the remaining debounce wait.
Imperative flush via @ref — Expose a FlushValue() / CommitValue() method on the component ref so the consumer can call it before reading the bound value:
@* Desired API *@
<TelerikTextBox @ref="_textBoxRef" ... DebounceDelay="300" />
private TelerikTextBox _textBoxRef;
private async Task HandleFormSubmit()
{
await _textBoxRef.FlushValueAsync(); // fires ValueChanged immediately
_submittedValue = _value; // now guaranteed to be up-to-date
}
Given this markup:
<TelerikGrid Data="@PrognoseData" EditMode="GridEditMode.Incell" OnUpdate="@OnGridUpdate">
<GridColumns>
<GridColumn Title="Prijs/eenh." Field="PrognoseKostenModel.EenheidId" Width="120px">
<EditorTemplate>
@{
var model = (PrognoseKostenModel)context;
<TelerikDropDownList Data="@_eenheden"
@bind-Value="@model.EenheidId"
TextField="@nameof(PrijsEenheidDto.Sign)"
ValueField="@nameof(PrijsEenheidDto.Id)" >
<DropDownListSettings>
<DropDownListPopupSettings Height="auto"/>
</DropDownListSettings>
</TelerikDropDownList>
}
</EditorTemplate>
<Template>
@{
var model = (PrognoseKostenModel)context;
}
<span>@model.Eenheid</span>
</Template>
</GridColumn>
</GridColumns>
</TelerikGrid>So eg:
1. the initial value is "vkm2"
2. User selects "post" in dropdown
3. Dropdown is automatically closed, but value in grid remains "vkm2"
4. User clicks in different field in same row: OnGridUpdate is fired and value in grid changes to "post"
Any idea how to get OnGridUpdate immediately after the selection in the dropdown?
