My pipeline is currently stuck due to this, I have a simple "dotnet install" in my pipeline that used to work and since the latest .NET SDK release (SDK 9.0.307) it started to fail with the following message:
I attempted to upgrade the Telerik.Licensing package manually to latest version but it didn't fix the issue.

Hi
I want to add a textbox in the GridToolBarTemplate. Because of the built-in arrow navigation it is not possible to move the cursor inside the textbox. Is it possible to disable the default arrow navigation in the GridToolBar?
Example in this simple REPL
Enter any text in the Textbox, hit the left arrow keyboard button and notice the cursor stays at the end of the text.
Best regards
Bram
Version 12.0.0 removed the .k-item class from rendering on a tab strip's tab but that now means that the active tab looks identical to all other tabs. Is there a workaround or some way to get that back without manually recreating the CSS myself?
The screenshot is from the docs to show it's not just my project or any custom config on my end:
https://www.telerik.com/blazor-ui/documentation/components/tabstrip/overview

I'm writing an OnShapeClick method that (among other things) should change the Color of the selected shape. I am defining shapes as such:
<DiagramShapes>
@foreach (Node node in Nodes)
{
<DiagramShape Id="@node.LinkID" >
<DiagramShapeContent Text="@node.GetDisplayName()" />
<DiagramShapeFill Color="@node.GetColor()"/>
</DiagramShape>
}
</DiagramShapes>In OnShapeClick, I am updating the Color by changing a field for the specified node that results in node.GetColor() returning a new Value, and this works.
async Task OnPersonClick(DiagramShapeClickEventArgs Args)
{
foreach (Node node in Nodes)
{
if (node.LinkID.Equals(Args.Id))
node.State = SelectedState.True;
else
node.State = SelectedState.False;
}
}The issue is that when the Diagram is re-rendered, the positions of all the shapes are recalculated. resulting in any Shapes that the user has dragged out of position to revert to their original position, or in the case of the Force Diagram, a complete reshuffle of the Shapes in the Diagram. This is undesired behavior.
In short, how do I update the Color (or any property) of a Diagram Shape while maintaining the current positions of all shapes within the Diagram?

I've followed everything i can find about enforcing UTF-8 encoding, but this is still happening. It only happens in the drop down options of the aforementioned components, not after they are selected and not in the ASP.NET core <InputSelect> component.

I have no idea when this started but I suspect when we upgraded to 11.x control suite.
<GridColumn Field=@nameof(BookingEquipmentCommodityModel.ItemCount) Title="Count" Width="1.5rem" />As you can see, there is no numeric template and this is a simple GridColumn, but I'm getting increment arrows on any column that is numeric (Int, Decimale, Double, etc.)?
I don't want them and have no idea why I'm getting them since I don't define the column with a template for TelerikNumericTextBox??
In my attempt (which failed) to work-around this issue, I setup a template for the column using TelerikNumericaTextBox to see I could disable the arrows ... and that didn't work either?
<GridColumn Field=@nameof(BookingEquipmentCommodityModel.CommodityWeight) Editable="true" Title="Weight" Width="3rem">
<Template Context="cwContext">
@{
var cw = (BookingEquipmentCommodityModel)cwContext;
}
<TelerikNumericTextBox @bind-Value="@cw.CommodityWeight" Arrows="false"></TelerikNumericTextBox>
</Template>
</GridColumn>
still get the arrows?
Help?

I have no problem with adjusting filter values (trim white space) when the Grid uses OnRead event:
private async Task OnBookingGridRead(GridReadEventArgs args)
{
// Are any filters selected, if so we need to work from the filtered List
if (args.Request.Filters.Count > 0)
{
await TrimFilters(args.Request.Filters);
and the cycle thru filter values and trim them:
// Removes white space (aka Trim) on any filter input
private Task TrimFilters(IList<IFilterDescriptor> filters)
{
// Cycle the filters and trim Values
foreach (var filterDescriptor in filters)
{
switch (filterDescriptor)
{
case FilterDescriptor singleFilterDescriptor:
// Only one filter
singleFilterDescriptor.Value = singleFilterDescriptor.Value.ToString()?.Trim();
break;
case CompositeFilterDescriptor compositeFilter:
{
foreach (var subFilter in compositeFilter.FilterDescriptors)
{
if (subFilter is FilterDescriptor singleSubFilter)
{
singleSubFilter.Value = singleSubFilter.Value.ToString()?.Trim();
}
}
break;
}
}
}
return Task.CompletedTask;
}All good works fine ... BUT ... if the Grid is not using OnRead (using Data=), how can I accomplish the same task of removing white space (trim) from user filter input values?
Hi all,
I'm using the GridState, and in particular, the GridColumnStates, to restore user-defined column sizes when getting back to a page that contains a grid.
While it's cool that a state can easily be retrieved and set, what I dislike about it is that column widths are treated in absolute sizes (pixels) instead of relative (%). When a state is restored to a different overall resolution (affecting the grid's width), the pixel sizes may not be appropriate.
However, I found out that the Width property is a string, and will also accept ratios when setting the state. I'm persisting the per-grid column configuration in JSON, so this bit of code now takes care of creating the JSON document for me, changing the pixel widths per column by the respective percentage ratio:
public static string GetGridColumnStateJsonScaled<T>(TelerikGrid<T> grid)
{
var gridTotalWidth = grid.GetState().TableWidth;
var states = grid.GetState().ColumnStates;
if (gridTotalWidth.EndsWith("px"))
{
var gridWidthPx = decimal.Parse(gridTotalWidth, CultureInfo.InvariantCulture);
if (gridWidthPx != 0)
{
foreach (var state in states.Where(_ => _.Width.EndsWith("px")))
{
var colWidthpx = decimal.Parse(state.Width, CultureInfo.InvariantCulture);
var ratio = Math.Round(colWidthpx * 100 / gridWidthPx, 3);
state.Width = ratio.ToString(CultureInfo.InvariantCulture) + "%";
}
}
}
var json = JsonSerializer.Serialize<ICollection<GridColumnState>>(states);
return json;
}
The code presumes that the grid width (drawn from the grid's current state) is pixels - usually that should be the case. Also, it will only recalculate columns whose width is also specified with a "px" unit. It will overwrite the original width value inside the state.
This needs to be used whenever a state is about to be persisted as column sizes will be all pixels again as soon as the user modifies anything that affects the state.
While this does work, there might be a more elegant solution that I missed. In case there is not, feel free to use the code above :)
Cheers,
Joe

<TelerikTreeList @ref=@TreeListTargetRef
Data="@TargetGroups"
SelectedItems="@SelectedTargetGroups"
IdField="@nameof(Group.Id)"
ParentIdField="@nameof(Group.ParentId)"
Pageable="true"
PageSize="10"
Sortable="false"
SelectionMode="TreeListSelectionMode.Single"
FilterMode="@TreeListFilterMode.FilterMenu"
OnStateInit="((TreeListStateEventArgs<Group> args) => OnStateInitHandlerTarget(args))"
SelectedItemsChanged="((IEnumerable<Group> x) => OnTargetGroupSelected(x))">
<TreeListSettings>
<TreeListPagerSettings InputType="PagerInputType.Input"
Adaptive="true">
</TreeListPagerSettings>
</TreeListSettings>
<TreeListColumns>
<TreeListCheckboxColumn SelectAll="false"
SelectChildren="false"
CheckBoxOnlySelection="true"
Width="64px" />
<TreeListColumn Field="Name" Title="Name" 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>