I have a scenario in which we have user definable columns for a grid, including hundreds if not thousands that need to be ported from the old version of our product. This means these column keys would be strings that may contain spaces or even special characters - and as such cannot be a valid C# property name (which means using an ExpandoObject approach will not work)
It would be really beneficial if the TelerikGrid component could be given Data of an IEnumerable<Dictionary<string, object>> where the Field property of GridColumn (or a new property) would line up with a key in that dictionary rather than a field name for the component to then use reflection with.
A customer with multiple modules of our product installed may very well have columns with similar names, i.e "Some Key", "SomeKey", "Some_Key", "Some & Key" - so simply replacing spaces or special characters may not always still give unique keys.
It appears there are some issues with encoding special characters in the DataSourceExtensions.ToODataString extension method.
See snippet below.
var ds = new DataSourceRequest()
{
Filters = [new FilterDescriptor("FieldName", FilterOperator.IsEqualTo, "Route #")],
Sorts = []
};
{
Console.WriteLine(ds.ToODataString());
$count=true&$filter=(FieldName%20eq%20%27Route%20#%27)&$skip=0
This results in a malformed url as the last part of of the query is interpreted as a fragment due to this character not being encoded.
Hi,
Are you planning to add a loader to the grid in the feature?
E.g as an isLoading attribute or exepnd the build-in one?
With method OnRead to fetch data, when grid is not yet loaded with data, it displays no records available.
Also when chenging data, loading is not starting, but there is an unsmooth transition after some time.
Thanks in advance for your time, Kacper
Hello,
We are looking to port an angularjs web application to Blazor and I didn't see the diagram component similar to the one found in Kendo UI. It would be nice to see a viso-like component in UI for Blazor.
Thank you.
We are using Telerik UI for Blazor (V6.2.0) grid. The first 3 columns (Delivery No, Spot Check, Spotcheck Status) of the grid are frozen/locked. While horizontal scrolling the header text gets overlapped. We have used custom CSS to change the header color.
<TelerikGrid @ref="@GridRef" Data="@dashboardData"
Reorderable="true"
SortMode="@SortMode.Single"
Pageable="true"
FilterMode="GridFilterMode.FilterRow"
PageSize="10"
EnableLoaderContainer="true"
Sortable="true" Context="inboundContext" OnRowRender="@OnRowRenderHandler" Width="1800px" Height="500px">
In the Appearance section of the ContextMenu component documentation on the Progress Design System Kit website (https://www.telerik.com/design-system/docs/components/contextmenu/#size), it is stated that:
The ContextMenu provides the size configuration option that enables you to control how big or small the rendered submenu items in the popup will be.
I’ve observed that this functionality is implemented in at least one library—Kendo UI for Angular (https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/appearance#size).
Is there a plan to introduce support for the Size parameter in the ContextMenu component of the Telerik UI for Blazor library?
Hello,
I am currently reworking an old webapp with server-side Blazor and Telerik UI for Blazor. I noticed that TelerikDialogs kind of break the rerendering of child components if the TelerikDialog and all of its content are placed inside their own component:
<PageTitle>Home</PageTitle>
<EditWithDialog @ref="EditDialogInside"></EditWithDialog>
Where EditWithDialog is (basically) defined as follows:
<TelerikDialog @ref="Dialog" @bind-Visible="@Visible">
<DialogTitle>
Edit ID
</DialogTitle>
<DialogContent>
<div>
<div>TelerikDialog inside of component</div>
<TelerikTextBox Value="@AppState.CustomerString" OnChange="@SetID" Width="300px"></TelerikTextBox>
<TelerikButton OnClick="@GenerateID">Generate ID</TelerikButton>
</div>
</DialogContent>
<DialogButtons>
<TelerikButton OnClick="@ToggleVisible">Close</TelerikButton>
</DialogButtons>
</TelerikDialog>
However, if the TelerikDialog is placed on a page and its content is placed inside of its own component, everything works as expected:
<PageTitle>Home</PageTitle>
<TelerikDialog @bind-Visible="@Visible">
<DialogTitle>
Edit ID
</DialogTitle>
<DialogContent>
<div>
<div>TelerikDialog outside of component</div>
<EditWithoutDialog @ref="EditDialogOutside"></EditWithoutDialog>
</div>
</DialogContent>
<DialogButtons>
<TelerikButton OnClick="@ToggleEditOutside">Close</TelerikButton>
</DialogButtons>
</TelerikDialog>
EditWithoutDialog.razor:
<TelerikTextBox Value="@AppState.CustomerString" OnChange="@SetID" Width="300px"></TelerikTextBox>
<TelerikButton OnClick="@GenerateID">Generate ID</TelerikButton>
I am using the state-container approach described here, but the problem persists when using two-way binding via parameters.
In this scenario, putting the dialog directly on the page is not a problem, but with larger applications where there's possibly multiple dialogs and a lot more content on one page, this can become very unwieldy and confusing. Considering Blazors emphasis on making components reusable, this also prevents proper use of a customized dialog component that uses the TelerikDialog as a base.
I have attached a small project that implements both versions on a single page for you to test. I have tested using both Edge and Firefox.
Hi there,
I have a TelerikGrid with a DateTime column. I use a custom FilterEditorFormat which is localizable depending on the user settings, e.g. "dd/MM/yyy HH:mm:ss". Unfortunately, any '/' in the date component is always replaced by the current culture's DateSeparator. Using any other separator works, e.g. '-'.
Expectation: Use the FilterEditorFormat without modification, unless it's a standard format string like "g" or "D".
I already traced it down to Telerik's FormatHelper class and it seems like a quick fix.
Steps to reproduce:
Please let me know if you need any additional information.
Best regards
Andreas
Telerik UI for Blazor requires unsafe-inline styles in order to render style attributes from the .NET runtime.
Please add support for strict CSS CSP without the need for unsafe inline styles.
===
TELERIK EDIT:
Due to the complexity and required effort to add strict CSS CSP support:
I have come across a few instances where it would be awesome if the Data Collection on a MultiSelect, or even a DropDown could have a dynamic property to denote if the option in the collection is selectable. The use case is around items being disabled but remain intact on historical records. If I remove the item currently from the collection then the component no longer shows the item as selected because it isnt in the collection. If I leave the item in the collection, then it shows, but, can then be selected on future items, which I dont want. Would be awesome if I could pass a component parameter, similar to TextField, which is the bool property for if the option in the dropdown is selectable/disabled. This would then make it so that the item could be REMOVED, but not readded or selected on future records unless the value for the property was set back to true.
Please add a property (e.g., OpenOnFocus or AutoOpenOnEdit) to dropdown-based components (such as DropDownList, ComboBox, or inline grid editors) to automatically open the dropdown when the component gains focus or enters edit mode.
Why This Matters
In data-dense UIs — like inline grid editing, cutover task assignment, or status changes — users often need to:
Currently, dropdowns often require an additional manual click to open — which slows down power users and disrupts workflows in editable grids.
Hello,
related to my previous bug report.
When Add / Edit is clicked in the Grid, it causes a Dialog to open.
The dialog has a Form, and if the model for that form is set through OnParametersSet, the method is called in an infinite loop, and the Dialog never gets shown.
Grids honor the [DisplayFormat(DataFormatString ... )] annotation for column content, but the FilterMenuType.CheckBoxList filter menu and the TelerikCheckBoxListFilter component don't. This is particularly noteworthy for formatting that truncates the contents such as DateTime which frequently tracks data smaller than user's care about, which can generate many visually identical checkboxes. To go along with the requested change, it would be nice if the filter matched off of the DisplayFormat string considering that is what the user sees and would therefore be referencing, since again, many DataFormatStrings can truncate data.
Because the TelerikCheckBoxListFilter component requires the field to match the data type of the grid's field, there isn't a way for the programmer to choose to show the filter menu with a checklist that matches the displayed values without building a fully custom FilterMenuTemplate with their own foreach loop and then figuring out a way to construct a CompositeFilterDescriptor filled with bracketing FilterDescriptors to account for the range of matching values. This is doubly troublesome since using the structure of CompositeFilterDescriptors needed to do that is not supported in the FilterMenuTemplate without also having to override the FilterMenuButtonsTemplate.
Generally speaking, it would make more sense to the users if the default options in the filter logically and visually matched with the default displayed values.
Reference material:
Grid column contents: https://www.telerik.com/blazor-ui/documentation/components/grid/columns/display-format
Checkbox List: https://www.telerik.com/blazor-ui/documentation/components/grid/filter/checkboxlist
Alternate FilterDescriptor shapes not supported: https://feedback.telerik.com/blazor/1681745-clear-button-in-grid-filtermenu-not-properly-clearing-custom-filter
Example Repl: https://blazorrepl.telerik.com/mJOSuxQw117zM1h321
Creating a new WebApp project template through the extension fails to build. This is caused by incorrect icon type in the MainLayout.razor file.
To make sure the app is correctly built, the Icon type should be FontIcon.
<TelerikButton Icon="@FontIcon.Menu"
FillMode="@ThemeConstants.Button.FillMode.Clear"
OnClick="@( () => DrawerExpanded = !DrawerExpanded )" />
can you provide a initial File click event handler attribute?
I want the user to be able to click on an initial file to download the file.