Telerik Forums
UI for Blazor Forum
1 answer
34 views
Hi,

I need some help with the DockManager. Is it currently possible to prevent the flickering/loading effect when navigating to a page and restoring the DockManagerState from local storage? Once I pin delegate(with setting state inside directly to args or with SetState method) to OnStateInit (because I want to control Layout state and reapply it when navigating) -> it starts flickering loading. Once I don't pin to OnStateInit(with the same delegate mech I discribed earlier) -> everything works fine, but state can't be saved and recreated.

The behavior looks like a short reload or UI flicker when the state is reapplied.

I followed the setup exactly as shown in the official Demo, but seems like it is working nice only after DockManager is fully rendered and then changing it's state.

Thanks in advance!
Dimo
Telerik team
 answered on 18 Jun 2025
2 answers
98 views

I copied this example and got it working:

https://www.telerik.com/blazor-ui/documentation/knowledge-base/treelist-expand-nodes-programmatically

Can you tell me how to default my TreeList to have everything expanded when my page loads?  It seems running the SetTreeListExpandedItems after loading my data does not expand everything automatically... which is confusing to me.


            <TelerikCard>
                <CardBody Class="gsi-padding-0">
                    <TelerikButton OnClick="@SetTreeListExpandedItems"
                                   Class="gsi-width-100pct">
                        Expand/Collapse Groups
                    </TelerikButton>
                </CardBody>
            </TelerikCard>

            <TelerikTreeList @ref=TreeListRef
                             Data="@Groups"
                             SelectedItems="@SelectedGroups"
                             IdField="@nameof(Gsi.Customer.Models.Group.Id)"
                             ParentIdField="@nameof(Gsi.Customer.Models.Group.ParentId)"
                             OnStateInit="((TreeListStateEventArgs<Gsi.Customer.Models.Group> args) => OnStateInitHandler(args))"
                             Pageable="false"
                             Sortable="false"
                             SelectionMode="TreeListSelectionMode.Single"
                             FilterMode="@TreeListFilterMode.FilterMenu"
                             SelectedItemsChanged="@((IEnumerable<Gsi.Customer.Models.Group> m) => OnGroupSelected(m))">
                <TreeListColumns>
                    <TreeListColumn Field="Name" Title="Group Filter" Expandable="true">
                        <Template>
                            @{
                                var item = context as Gsi.Customer.Models.Group;
                                <img height="32" width="32" src="@item.ImageUrl" />
                                @item.Name
                            }
                        </Template>
                    </TreeListColumn>
                </TreeListColumns>
            </TelerikTreeList>

Justin
Telerik team
 answered on 16 Jun 2025
0 answers
44 views
Hello,
I’m using a GroupDescriptor and have disabled LoadGroupsOnDemand for data sets under 100 records. I’ve noticed a bug where, on first render, all rows appear ungrouped for a brief moment, then “jump” into their correct groups a split-second later.

When I add a debounce to the OnRead event, the issue disappears, which suggests a correlation between a heavily loaded OnRead handler and the delayed grouping.

What could be causing this behavior, and has anyone encountered something similar?
Mateusz
Top achievements
Rank 1
 asked on 16 Jun 2025
1 answer
24 views

Hy,

is there a way to customize the template visualization of each day in the DatePicker component?

I need to change the style and colors of the days according to different conditions. For examples:

 

Thanks in advance

 

Marco
Top achievements
Rank 3
Iron
Iron
Iron
 answered on 13 Jun 2025
1 answer
61 views
Hi,

I'm currently using a TelerikForm with built-in validation and TelerikTabStrip to split the form into multiple tabs. I’m using a single shared EditContext for the entire form, covering fields across all tabs.

The issue I'm facing:
When I trigger form validation (e.g. by clicking Submit), only the fields in the currently visible tab get proper validation UI (.k-invalid, red borders, etc.). Fields in tabs not yet visited do not show red borders around input fields — only the validation summary displays the error messages (and labels are red for those fields which is ok).

You can observe this issue directly in your own official demos:
Demo

Once I manually visit each tab, the fields inside do react to validation as expected (input fields appear with red borders). But still - all of it works only with PersistTabContent parameter set to true (meaning behaviour when user visits some tabs, clicks submit elsewhere and gets back to tabs already visited.) without PersistTabContent checked - it doesn't work at all.

This behavior leads to a confusing and inconsistent UX, especially in forms that do not have visible labels next to each field — users don’t realize what’s wrong until they manually visit every tab.

My questions:
-Is there any workaround to make validation styles apply to inputs in all tabs, even those not yet rendered without need to manually render all the tabs content?
-Is there a planned feature or improvement to address this?
If not, I’d like to formally request this as must-have functionality.
As it stands now, this issue severely degrades the user experience. Validation messages show in the summary, but without any visual feedback in the inputs — especially in unvisited tabs — users are left confused.
In practical terms, tabs become unusable for serious forms when this happens. If users have to manually check every tab just to find the highlighted fields, it defeats the purpose of having tabs in the first place.

Thanks for any help!
-Bohdan
Hristian Stefanov
Telerik team
 answered on 11 Jun 2025
1 answer
87 views

I'm trying to adjust the existing size definitions as outlined here in your docs:

https://www.telerik.com/blazor-ui/documentation/components/dropdownlist/appearance

I'd like to adjust the definition for sm, md, lg as they don't work well with TailwindCSS settings.  For example lg is just a tad too large and md is a tad too small

This is lg:

This md:

I want to match the border size to our standard input text (aka Postal Code example above).  I can't seem to find where sm, lg, md are defined?  And, is there a relative "simple" way to modify without going down a "custom" theme path?

Rob.

 

Hristian Stefanov
Telerik team
 answered on 10 Jun 2025
0 answers
33 views

Hi, I am using again the TabStrip component so that it's displayed vertically as in my previous post tabstrip vertical, from what I understand, it has to have an absolute value as pixels in the Height property to render/displays correctly, right ? If so, is support planned for the future?

Thanks in advance

Hadrian
Top achievements
Rank 1
Iron
 asked on 10 Jun 2025
0 answers
72 views

I am using a Column Chart component inside my Blazor application.

When viewed on a mobile screen, the user is unable to pan the window, because i think the chart registers this as an event. If the user touches the chart, they cannot scroll the window anymore.

I am not using any additional events on my chart, it does not need any interaction. 

How can I adjust the chart so that it can be touched and scrolled?

 

Code snippet:
<div style="@((DialogOpen) ? "visibility: hidden;" : "visibility: visible;")">
    <TelerikChart Height="200px">
        <ChartZoomable Enabled="false"></ChartZoomable>
        <ChartPannable Enabled="false"></ChartPannable>

        <ChartSeriesItems>
            <ChartSeries Type="ChartSeriesType.Column" Name="min/100m" Data="@GraphData" Field="@nameof(GraphData)" Color="#9edfff">
            </ChartSeries>
        </ChartSeriesItems>

        <ChartCategoryAxes>
            <ChartCategoryAxis Categories="@GraphX.ToArray()"></ChartCategoryAxis>
        </ChartCategoryAxes>

        <ChartLegend Position="ChartLegendPosition.Bottom">
        </ChartLegend>

        <ChartTitle Text=""></ChartTitle>
    </TelerikChart>
</div>

Kevin
Top achievements
Rank 1
 asked on 10 Jun 2025
1 answer
55 views

I have a Blazor grid for a collection of key-value pairs where the edit template for one cell has a ComboBox with a list of the possible keys. The requirement is that each key can only be used once. My grid's OnEdit handler is:

	private void OnEdit(GridCommandEventArgs e)
	{
		MyModel model = (MyModel)e.Item;
		if (e.Field == nameof(MyModel.KeyTypeId))
		{
			IEnumerable<byte> typeIdsInUse = Data.Select(x => x.KeyTypeId).Except([model.KeyTypeId]).ToArray();
			KeyTypesForDropDown = KeyTypes!.Where(x => !typeIdsInUse.Contains(x.KeyTypeId)).ToList();
			if (KeyTypesForDropDown.Count == 0)
			{
				Notification.Show("There are no more keys available to add.", ThemeConstants.Notification.ThemeColor.Warning);
				e.IsCancelled = true;
			}
		}
	}

My problem is that I can't figure out how to find this ComboBox in the grid cell during my test in order to validate that its data is correct. This is how far I got:

GridCommandEventArgs args = new() { Item = new MyModel(), }; await grid.InvokeAsync(() => grid.Instance.OnAdd.InvokeAsync(args)); await grid.InvokeAsync(() => grid.Instance.OnCreate.InvokeAsync(args)); var state = grid.Instance.GetState(); state.OriginalEditItem = state.EditItem = (MyModel)args.Item; await grid.Instance.SetStateAsync(state); grid.Render(); var rows = grid.FindComponent<GridRowCollection<MyModel>>(); rows.Render();

state = grid.Instance.GetState();
state.EditField = nameof(MyModel.KeyTypeId);
await grid.Instance.SetStateAsync(state);
grid.Render();
rows.Render();

var row = rows.FindComponent<GridRow<MyModel>>();
Assert.True(row.HasComponent<GridEditCell<MyModel>>());
Can you help me to find the edit cell and ComboBox? Thanks!
Dimo
Telerik team
 answered on 10 Jun 2025
1 answer
27 views

I have the following setup:

    <TelerikForm Model="@Item"
                 OnUpdate="@UpdateHandler"
                 ColumnSpacing="5px">

    <FormItems>
            <FormItem Field="value">
                <Template>
<TelerikNumericTextBox @bind-Value="@Item.Value"
                                           DebounceDelay="0"
                                           Arrows="false"
                                           ValidateOn="ValidationEvent.Change"/>
                </Template>
            </FormItem>
        </FormItems>
        <FormButtons/>
    </TelerikForm>

The value is a nullable thus the field is empty at first. If I start typing with a leading "-" (minus sign) it will validate (field turn red) and call the update method, which is contrary to what I expect due to the ValidateOn Change setting.

Dimo
Telerik team
 answered on 09 Jun 2025
Narrow your results
Selected tags
Tags
+? more
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?