My Grid uses a lot of data (more than 200 000 records). I noticed that only in Firefox the export fails if the file is large - approximately 60MB.
The export of such large files works well in Chrome and Edge.
On a grid grouped by a field (using GroupDescriptors) where the amount of records exceed the page limit, therefore generating multiple pages, provide an option to keep the collapsed/expanded states of the groups when navigating through the pages.
In-house we implemented the following approach to mitigate this issue: when calling OnRead event, after processing the data (order, filter, group, etc) we're mapping the groups and subgroups to its corresponding indexes. When page changing, we then store the current state of the groups, alongside its keys (aka the label of the group). After page changing and mapping the groups and subgroups again, we just match the group names stored in this temporary state with the group names of the new page and restore the state.
For example: start with all groups initially collapsed, page 1 has groupA and groupB and user expanded groupB, changed to page 2, which has the remaining records of groupB and groupC. In this case it will restore groupB as expanded while groupC keeps collapsed.
Example to demonstrate the issue: https://blazorrepl.telerik.com/melmEeFi43owNZBe50
At the moment start and end times effectively "round" to the nearest half an hour. This can give the impression of events overlapping when they do not
e.g.
Admin edit: This feature would be similar to the Exact Time Rendering in our WebForms suite: https://demos.telerik.com/aspnet-ajax/scheduler/examples/exacttimerendering/defaultcs.aspx
On the Spreadsheet control please display a function list when the user types "=" or provide the user with some other reference about the available functions.
The SplitButton and DropDownButton trigger client-side Blazor framework exceptions if the app tries to change the component UI in the OnClick handler, for example, toggle Enabled or set another Class.
The issue exists only in WebAssembly apps and only in Chrome / Edge. The problem doesn't exist in the Button and ToggleButton.
Test example with a possible workaround:
<p>Issue:</p>
<TelerikSplitButton OnClick="@OnClickHandler" Enabled="@SplitButtonEnabled">
<SplitButtonContent>Click Me</SplitButtonContent>
<SplitButtonItems>
<SplitButtonItem>Item 1</SplitButtonItem>
<SplitButtonItem>Item 2</SplitButtonItem>
</SplitButtonItems>
</TelerikSplitButton>
<p>Workaround:</p>
<div class="@( $"splitbutton-wrapper {(SplitButtonEnabled ? "" : " my-disabled")}" )">
<TelerikSplitButton OnClick="@OnClickHandler" TabIndex="@( SplitButtonEnabled ? 0 : -1 )">
<SplitButtonContent>Click Me</SplitButtonContent>
<SplitButtonItems>
<SplitButtonItem>Item 1</SplitButtonItem>
<SplitButtonItem>Item 2</SplitButtonItem>
</SplitButtonItems>
</TelerikSplitButton>
</div>
<style>
.splitbutton-wrapper {
display: inline-flex;
}
.my-disabled button {
outline: none !important;
cursor: default;
opacity: .6;
filter: grayscale(0.1);
pointer-events: none;
box-shadow: none !important;
}
</style>
<br />
<br />
<TelerikButton OnClick="@OnClickHandler">Toggle SplitButton Enabled</TelerikButton>
<br />
<br />
<p>OnClickHandler fired: @ClickLog</p>
@code {
private bool SplitButtonEnabled { get; set; } = true;
private string ClickLog { get; set; } = string.Empty;
public void OnClickHandler(MouseEventArgs MouseEventArgs)
{
ClickLog = DateTime.Now.ToString("HH:mm:ss.fff");
SplitButtonEnabled = !SplitButtonEnabled;
}
}
Error message:
blazor.web.js:1 Uncaught (in promise) Error: Assertion failed - heap is currently locked
at Ar (blazor.web.js:1:158126)
at Object.beginInvokeDotNetFromJS (blazor.web.js:1:156049)
at y.invokeDotNetMethodAsync (blazor.web.js:1:4322)
at S.invokeMethodAsync (blazor.web.js:1:5830)
at r.invokeMethodAsync (telerik-blazor.js?63…67597060:22:1272553)
at r.invokeBlur (telerik-blazor.js?63…67597060:22:1392662)
at HTMLButtonElement.onBlur (telerik-blazor.js?63…67597060:22:1270337)
at ve.setOrRemoveAttributeOrProperty (blazor.web.js:1:29093)
at ve.applyAttribute (blazor.web.js:1:28037)
at ve.applyEdits (blazor.web.js:1:25064)
Please add a feature to export the grid to a PDF file.
---
ADMIN EDIT
We have made two examples you can use for the time being to get a PDF document from the grid:
---
Describe the bug
The class 'k-tabstrip' item is missing in the rendering of the TabStrip component.
To Reproduce
1. Go to the following demo and open the DevTools:
https://demos.telerik.com/blazor-ui/tabstrip/overview
2. Check the source of truth:
https://github.com/telerik/kendo-themes/blob/develop/tests/tabstrip/tabstrip.html
Actual results
The class 'k-tabstrip-item' is missing.
Expected behavior
The class 'k-tabstrip-item' to be present.
Additional context
ThemeBuilder generates styles for the items of the TabStrip component with selectors like these:
.k-tabstrip .k-tabstrip-items-wrapper .k-tabstrip-items.k-reset.k-tabstrip-items-start .k-item.k-tabstrip-item.k-active .k-link
This works in other technologies, such as Kendo React, but it doesn't take effect in Blazor applications because of the issue.
Reported through t.1672526.
Hi,
Using VS code I tried to create a project using the latest Telerik UI for Blazor Productivity tools. Updated 24-12-03
The Error:
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:
If the Scheduler is placed in a parent container (for example Telerik Splitter or any other container) its appointments are not resized when resizing the pane. The Scheduler itself resizes accordingly, but the appointments don't.
I have recently encountered an accessibility issue with the grid popup editor where the labels for the generated fields are not linked to their respective editor. It seems that the label does have a "for" attribute that is the same as the column title which I expect, but the Id of the input does not get set to the same thing. I can't see any option to make the association happen automatically.
===
ADMIN EDIT
===
A possible option for the time being is to use a custom popup edit form. You may either declare your desired custom content for the form and link the labels to their respective inputs or use the Form component with the field autogeneration feature which will automatically link the labels to the inputs.
Hi.
When adding a form item to a form, and that form item is disabled, I still expected the validation tooltip to be displayed.
For example, the form item may be dynamically disabled because of previous missing criteria.
I've attached a sample project to reproduce the behavior in a simple scenario.
If the form items are enabled, then the tooltips appear as expected.
Until this issue is resolved, is there a simple work-around?
Thank you.
Hello, I like the Telerik PDF Viewer for Blazor, but it's not supporting Table of Contents (TOC) links. I would like to request this feature so that there are links in the TOC automatically. I'm using Blazor WebAssembly.
Thank you for considering my request.
The described functionality listed on https://demos.telerik.com/blazor-ui/window/stacking-windows
"The Telerik Window component for Blazor provides stacking z-index functionality that brings to front the component any time it receives focus."
doesn't appear to be working in the demo. When the one window receives focus the z-index does not change. This appears to not work correctly in the demo either.
Hi,
I created a new .net 9 Blazor WebApp from the template (lastest version).
Shouldn't we be using the new app.MapStaticAssets(); vs the old app.UseStaticFiles() ?
Also in the App.razor, should we not also be using the @Assets[] in the <link href? /> ie:
<link rel="stylesheet" href="@Assets["app.css"]" />
Not sure if the ImportMap is required. Anyway getting my information from the Microsoft website for updating from 8 to 9.
See Here: MS link to upgrade from 8 to 9.
Also, when I posted this "Contact Support", I am not able to select .Net 9 as my framework and WebApp as my blazor hosting model, so put it as .net 8
Peter
<ColumnMenu>
<ColumnMenuFiltering/>
<ColumnMenuSorting/>
....
</ColumnMenu>