Current limitation: The Diagram component does not provide native context menu integration. There are no events like OnShapeContextMenu or OnConnectionContextMenu that fire on right-click. Developers cannot show contextual actions (edit, delete, copy, connect) when user right-clicks on diagram elements.
Requested feature: Add context menu support for Diagram elements:
Use case:
In workflow/process diagram editors, context menu is essential for:
Currently, there is no way to detect right-click on specific diagram elements. The only workaround is complex JavaScript interop to attach event listeners to SVG elements, which is fragile and breaks on re-render.
Example of desired API:
<TelerikDiagram @ref="@DiagramRef"
OnShapeContextMenu="@OnShapeRightClick"
OnConnectionContextMenu="@OnConnectionRightClick"
OnCanvasContextMenu="@OnCanvasRightClick">
<DiagramShapes>
@foreach (var shape in Shapes)
{
<DiagramShape Id="@shape.Id">
<DiagramShapeContent Text="@shape.Name" />
</DiagramShape>
}
</DiagramShapes>
</TelerikDiagram>
<TelerikContextMenu @ref="@ShapeContextMenu"
Data="@ShapeMenuItems"
OnClick="@OnShapeMenuClick">
<ItemTemplate Context="item">
<TelerikFontIcon Icon="@item.Icon" />
<span>@item.Text</span>
</ItemTemplate>
</TelerikContextMenu>
@code {
private TelerikContextMenu<MenuItem>? ShapeContextMenu;
private string? ClickedShapeId;
private async Task OnShapeRightClick(DiagramShapeContextMenuEventArgs args)
{
ClickedShapeId = args.ShapeId;
await ShapeContextMenu.ShowAsync(args.ClientX, args.ClientY);
}
private async Task OnShapeMenuClick(MenuItem item)
{
switch (item.Action)
{
case "edit":
await OpenShapeEditor(ClickedShapeId);
break;
case "delete":
await DeleteShape(ClickedShapeId);
break;
case "duplicate":
await DuplicateShape(ClickedShapeId);
break;
}
}
}Alternative minimal implementation:
Current limitation: The Diagram component only allows zoom through mouse interactions (scroll wheel). The Zoom parameter sets only the initial zoom level and cannot be changed at runtime. There are no methods to programmatically control the viewport.
Requested feature: Add programmatic viewport control API:
Use case:
In enterprise workflow/process editors, users need navigation controls beyond mouse wheel:
Accessibility: Users with trackpads, touch screens, or motor impairments cannot easily use scroll wheel zoom
Toolbar buttons: Standard diagram tools (Visio, Draw.io, Lucidchart) provide +/−/100%/Fit buttons
Programmatic navigation: After adding a new shape, auto-scroll to show it; on search result, navigate to found shape
Keyboard shortcuts: Implement Ctrl+Plus/Minus for zoom without native support
<TelerikDiagram @ref="@DiagramRef"
@bind-Zoom="@CurrentZoom"
ZoomChanged="@OnZoomChanged">
...
</TelerikDiagram>
<TelerikButton OnClick="@(() => DiagramRef.ZoomInAsync())">+</TelerikButton>
<TelerikButton OnClick="@(() => DiagramRef.ZoomOutAsync())">−</TelerikButton>
<TelerikButton OnClick="@(() => DiagramRef.SetZoomAsync(1.0))">100%</TelerikButton>
<TelerikButton OnClick="@(() => DiagramRef.FitToScreenAsync())">Fit</TelerikButton>
@code {
private TelerikDiagram? DiagramRef;
private double CurrentZoom = 1.0;
private async Task NavigateToShape(string shapeId)
{
await DiagramRef.BringIntoViewAsync(new[] { shapeId });
}
}
Current limitation: The Diagram component only allows pan through mouse interactions (Ctrl+drag). There are no methods to programmatically control the viewport.
Requested feature: Add programmatic viewport control API:
Use case:
Programmatic navigation: After adding a new shape, auto-scroll to show it; on search result, navigate to found shape
===
Forked from https://feedback.telerik.com/blazor/1708938
Title: Add per-column value converters (WPF-style) to Telerik Blazor Grid columns
Product: UI for Blazor → Grid
Type: Feature Request
Description:
In Telerik UI for WPF, grid column definitions can reference a converter by name (e.g., IValueConverter) to transform values for display without writing a custom cell template for each column.
In Telerik UI for Blazor Grid, templates are currently the primary way to change how values render in a column (which works, but becomes repetitive across many columns/grids).
Request:
Add a column-level conversion API that allows specifying a converter/formatter function for display (and optionally editing). Example concepts:
Converter="nameof(MyConverters.StatusToText)"
or DisplayConverter="(item) => …" / ValueFormatter="Func<TItem, object, string>"
optionally ConvertBack-like support for editing scenarios (or separate EditConverter)
Why this is needed:
Reduces repeated <Template> markup for simple formatting/transformations
Centralizes formatting/conversion logic in reusable code
Improves maintainability and consistency across grids
Eases migration for teams coming from Telerik WPF where converters are a common pattern
Use cases:
Enum/int → user-friendly text
Boolean → “Yes/No”, icons, badges
Null/empty → placeholder text
Code → display name (via lookup)
Domain-specific formatting shared across many grids
Workarounds today:
Column <Template> or computed properties (both valid, but not as concise/reusable for large grids)
Extracting RenderFragments can reduce repetition, but still requires templating infrastructure for what is logically a simple conversion step
Expected behavior:
Converter applies consistently anywhere the column renders (cell, export if applicable, etc.)
Works with sorting/filtering in a predictable way (ideally sorting/filtering still uses raw field value unless explicitly configured)
The Grid's CheckBoxColumn doesn't support the TextAlign property, making it impossible to center the checkbox with just Grid markup, you have to resort to a workaround.
The TextAlign property in other columns causes style="text-align: center" to be added to the underlying table cell. This would also work for the checkbox column.
See this test:
<table class="table">
<tr>
<td class="table-active" style="width: 40px; text-align: center"><input type="checkbox" /> </td>
<td>test</td>
</tr>
</table>Please add the TextAlign property to the CheckboxColumn.
On a grid grouped by one or more fields, provide an option for end users to expand/collapse all rows at will. The following image is a suggestion of where this option (most likely a button) should appear:
We use QueryableExtensions.ToDataSourceResultmethod to load some data in our component. And at some moment we need to cancel data loading. But ToDataSourceResult method doesn’t support CancellationToken. So we are forced to use a workaround and just ignore the task's result. But task is still executing and causing the performance hit…
It would be great if you implemented support for this feature!
Please add TreeList Export to Excel
Regards
Andrzej
Expose an OnShapeDrop event for the Diagram. It should provide information about the shape's current X and Y coordinates.
This would allow the user to save the diagram (e.g., as json) and load it later.
I want to reorder the Grid rows the same way I can reorder the columns - via the keyboard.
For reference: Telerik jQuery Grid drag and drop
Current limitation: When DiagramShapeDefaultsEditable.Connect="true",
users can draw connections between shapes, but there is no event fired
when a new connection is created by the user.
Requested feature: Add OnConnectionCreated event that:
Use case: We need to capture user-created connections to persist them to database, validate business rules (e.g., prevent circular dependencies), and set connection properties (type, label, color) based on context.
Current limitation:
DiagramConnectionType only supports Cascading (orthogonal) and Polyline
types. There is no curved or Bezier option.
Requested feature: Add a new connection type such as DiagramConnectionType.Bezier or DiagramConnectionType.Curved that:
Use case: For workflow diagrams with many crossing connections, curved lines improve visual clarity and reduce cognitive load compared to sharp 90° angles.
Current limitation: The Diagram component only provides OnShapeClick event. There is no native double-click event for shapes.
Requested feature: Add OnShapeDoubleClick event that:
Use case: In workflow editors, single-click should select a shape, while double-click should open an editor dialog. Currently, we have to implement manual timing-based detection which is unreliable and doesn't match native OS double-click behavior.
For example in DropDownList reflection is used for binding for TextField and ValueField.
As an additional option, I'd instead to be able to do DropDownList<FooBarModel> and then FooBarModel implements a Telerik interface IDropDownListItem (for example but use your naming conventions)
I agree you shouldn't remove the option of using TextField / ValueField but I'd like to see it as an option.
Doing the same thing in something like DataGrid I agree would be a ton more work and we'd likely require using source generation.
It seems that Microsoft / the industry is consistently recommending to phase out the use of reflection and have invested a bunch in making source generation much less of a pain and developer friendly.
Please add support for the Display(Name) DataAnnotations attribute for the autogenerated fields in the PivotGrid.
(Related to Title parameter for the rows and columns)
public class PivotModel
{
[Display(Name = "Net Revenue")]
public decimal Field1 { get; set; }
}