Hi Team,
We are using Telerik Modal popup on the GridView edit click button.
This Modal Window moves out of the screen when user clicks on popup header click when there is a vertical page scrollbar and the scroll position is not top.
Can you please fix this bug? We implemented your workaround, but using that workaround with below link, after opening the popup, below screen automatically scrolls on top. This is not good user experience on lengthy page.
Expectation : Page scroll should stay with the previous position after opening the popup with scrollbar.
Thanks,
Aarti Tare
I have a telerikdropdownlist in the EditorTemplate of a Grid. If a user uses the keyboard to speed the navigation of the dropdown (for example: they type a T to immediately scroll to the T section), then clicks on a selection further down in the list, the selected item becomes the item navigated to via the Keyboard, not the item that is actually clicked on. Clicking on an item (without using the keyboard navigation first) works as expected. I was able to replicate this behavior in REPL using the following code:
<br />
<br />
<TelerikDropDownList
Data = "@People"
@bind-Value="@SelectedUser"
TextField="LastFirst"
ValueField="Id"
Width="400px"
/>
<br />
<br />
<TelerikGrid
Data="@Assets"
EditMode="GridEditMode.Inline"
Width="800px"
OnUpdate="@Update"
>
<GridColumns>
<GridColumn Field="@nameof(Asset.AssetId)" Title="ID" Width="50px"/>
<GridColumn Field="@nameof(Asset.BarCode)" Title="BarCode" Width="125px"/>
<GridColumn Field="@nameof(Asset.UserId)" Title="User" Width="125px">
<Template>
@{
CurrentAsset = (Asset)context;
Person? p = People.FirstOrDefault<Person>(x => x.Id == CurrentAsset.UserId);
if(p != null)
{
<span>@p.LastFirst</span>
}
}
</Template>
<EditorTemplate>
@{
CurrentAsset = (Asset)context;
<TelerikDropDownList
Data = "@People"
@bind-Value="@CurrentAsset.UserId"
TextField="LastFirst"
ValueField="Id"
/>
}
</EditorTemplate>
</GridColumn>
<GridCommandColumn Width="100px" Locked="true">
<GridCommandButton Command="Save" Icon="save" ShowInEdit="true"></GridCommandButton>
<GridCommandButton Command="Edit" Icon="edit"></GridCommandButton>
<GridCommandButton Command="Delete" Icon="delete"></GridCommandButton>
<GridCommandButton Command="Cancel" Icon="cancel" ShowInEdit="true"></GridCommandButton>
</GridCommandColumn>
</GridColumns>
</TelerikGrid>
<br />
@code {
public List<Person> People = new();
public List<Asset> Assets = new();
int SelectedUser = 0;
Asset CurrentAsset = new();
protected override void OnInitialized()
{
LoadData();
base.OnInitialized();
}
public void LoadData()
{
People.Add(new Person(1, "Brent", "Tuominen"));
People.Add(new Person(2, "Tina", "Tuominen"));
People.Add(new Person(3, "Casey", "Tuominen"));
People.Add(new Person(4, "Ryan", "Tuominen"));
People.Add(new Person(5, "Alex", "Tuominen"));
Assets.Add(new Asset(1, "BC001"));
Assets.Add(new Asset(2, "BC002"));
Assets.Add(new Asset(3, "BC003"));
Assets.Add(new Asset(4, "BC004"));
Assets.Add(new Asset(5, "BC005"));
}
public void Update(GridCommandEventArgs args)
{
Asset a = (Asset)args.Item;
Asset? asst = Assets.FirstOrDefault(x => x.AssetId == a.AssetId);
if(asst != null)
{
asst.BarCode = a.BarCode;
asst.UserId = a.UserId;
}
StateHasChanged();
}
public class Asset
{
public Asset()
{
}
public Asset(int assetId, string barcode)
{
AssetId = assetId;
BarCode = barcode;
}
public int AssetId{ get; set; }
public string BarCode { get; set; } = string.Empty;
public int? UserId{ get; set; }
}
public class Person
{
public Person(int id, string fName, string lName)
{
Id = id;
FirstName = fName;
LastName = lName;
}
public int Id{ get; set; }
public string FirstName { get; set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string LastFirst
{
get
{
return LastName + ", " + FirstName;
}
}
public string FullName
{
get
{
return FirstName + " " + LastName;
}
}
}
}Greetings,
I am curious if you intend on offering any means of control for the height of an appointment cell within the scheduler. For us it is in the Timeline view with Resources. I have downloaded the source code and implemented the functionality myself and am willing to share my changes. It ultimately performs three functions:
1. Creates a new parameter on the SchedulerTimeViewBase.cs so that it is end user facing.
2. Alters the code in the ContentTableBase.cs to assign the AllDayAppointmentOuterHeight property with this new parameter's value (plus 1).
3. Alters the AppointmentRendererBase.cs to assign the AllDayAppointmentHeight property with this new parameter's value.
Additional changes are necessary to the Models and Interfaces.
We have used the JS version of this for several years and need the additional real estate on the scheduler. This is the only means that I could figure to alter the height as the position of the cells and resource rows are computed on the back end. Any alterations using a CSS class during OnItemRender will produce cells that overlap each other and/or overflow to subsequent rows.
With an item selected, I want to reset the drop down list to the state it has when the page loads, i.e. populated with nothing selected.
Setting the backing filed to zero does not work. I have read Clear the selection, I know it works if you have a default text,
I dont't want to have a default text.
As you can see in the repl, there's some more experiments, since I thought I could maybe clear the content and re-populate
the list to reset it.
Setting the data source to null does nothing?!?!
Clearing the data source removes the items in it, but keeps the selected value!?!?
I've seen answers to this question that suggests using CSS to achieve this, but that's just stupid and shouldn't be necessary.
Finally, we have the hack solution, which is totally crazy but seems to work.
I leave it here for others to see, since it seems a lot of people also have this problem.
Please fix this.
Hi,
I need the older version of CSS (2.9.0) for Blazor for telerik. I visited the site as follows but get error:
https://blazor.cdn.telerik.com/blazor/2.9.0/kendo-theme-default/all.css
Sorry, the page you are looking for is currently unavailable.
Find CSS until 2.22.0. the following link works
https://blazor.cdn.telerik.com/blazor/2.22.0/kendo-theme-default/all.css
Could you fix the link or please provide me the CSS for 2.9.0 ASAP.
Regards
Shuvra
We would like a parameter for Grid to set the placeholder of the DateTime filter in FilterRow (e.g. instead of 'yyyy. MM. dd' an own pattern).
We think of a parameter like the FormatPlaceholder parameter of the DatePicker component.
Not finding any examples or similar, so I wanted to see if there is a way to include a Gantt Chart into a WordsProcessing document. I am currently bringing the data into a table, but my end-user has requested to see the chart view of the same data.
if (JobMilestones.Count > 0)
{
editor.InsertText("MILESTONES").FontWeight = FontWeights.Bold;
Table tblMilestone = editor.InsertTable(JobMilestones.Count + 1, 3);
tblMilestone.PreferredWidth = new TableWidthUnit(720);
Paragraph p = tblMilestone.Rows[0].Cells[0].Blocks.AddParagraph();
tblMilestone.Rows[0].RepeatOnEveryPage = true;
tblMilestone.Rows[0].Cells[0].Borders = tcb;
tblMilestone.Rows[0].Cells[1].Borders = tcb;
tblMilestone.Rows[0].Cells[2].Borders = tcb;
editor.MoveToParagraphStart(p);
editor.InsertText("Task").FontWeight = FontWeights.Bold;
p = tblMilestone.Rows[0].Cells[1].Blocks.AddParagraph();
editor.MoveToParagraphStart(p);
editor.InsertText("Start").FontWeight = FontWeights.Bold;
p = tblMilestone.Rows[0].Cells[2].Blocks.AddParagraph();
editor.MoveToParagraphStart(p);
editor.InsertText("End").FontWeight = FontWeights.Bold;
int x = 1;
foreach (FlatModel fm in JobMilestones)
{
p = tblMilestone.Rows[x].Cells[0].Blocks.AddParagraph();
editor.MoveToParagraphStart(p);
editor.InsertText(fm.TaskTitle);
p = tblMilestone.Rows[x].Cells[1].Blocks.AddParagraph();
editor.MoveToParagraphStart(p);
editor.InsertText(fm.StartDate.ToShortDateString());
p = tblMilestone.Rows[x].Cells[2].Blocks.AddParagraph();
editor.MoveToParagraphStart(p);
editor.InsertText(fm.EndDate.ToShortDateString());
tblMilestone.Rows[x].Cells[0].Borders = tcb;
tblMilestone.Rows[x].Cells[1].Borders = tcb;
tblMilestone.Rows[x].Cells[2].Borders = tcb;
x += 1;
}
editor.MoveToTableEnd(tblMilestone);
//editor.InsertLine("");
editor.InsertBreak(BreakType.LineBreak);
}The File Manager (exactly like https://www.telerik.com/aspnet-core-ui/file-manager) for Blazor is needed.
I see there is the File Select Blazor FileSelect Component | Telerik UI for Blazor, but not File Manager that is a more complete and richer control.
Hi team,
I know we have Diagram like Kendo UI for Blazor, But it's confusing and gets very messy with more customizations. I would be very helpful if we have native Blazor component for diagram rather than integrating JQuery with Kendo. Hence making a feature request.
let me know if there is any plan in pipeline for this feature.
Regards,
Rikam
Hi Telerik Team
We will transfer the Pivot Grid from aspx to Pivot Grid Blazor Grid.
We couldn't found the Pivot Grid Blazor. Can you tell us, when it will be ready ?
Best regards
ATT
In
<FilterMenuTemplate Context="context">
<TelerikCheckBoxListFilter Data="@NameOptions"
Field="@(nameof(NameFilterOption.Name))"
@bind-FilterDescriptor="@context.FilterDescriptor">
</TelerikCheckBoxListFilter>
</FilterMenuTemplate>
I would like to have a DisplayField or TextField so that i can show the user something meaningful, while still filtering based on IDs behind the scenes?
More details on the concept for custom data: https://docs.telerik.com/blazor-ui/components/grid/filter/checkboxlist#custom-data
We need this existing control in a Blazor based control:
https://www.telerik.com/aspnet-core-ui/skeleton-container
We'll need to fall back to MudBlazor who does support this control.
We are existing licensed users under AVEVA.
Hello,
I would love to see an auto sizing for a TileLayoutItem. Specifically, in my case, the RowSpan. I feel like this would make a great addition as a parameter in the future as (also AutoSizeColumn would be nice)
<TileLayoutItem AutoSizeRow="true"></TileLayoutItem>I am working on an application that has dynamic data displayed within the TileLayoutItem. In my current implementation, I'm going through a process of attempting to calculate for resizing the RowSpan. The calculations are based on an inner body div that holds an id, finds the parent k-tilelayout-item and then the the k-tilelayout itself. I can't positively say my math is perfect but it (mostly) gets the job done. Keeping in mind that I have created other altered other areas of the TileLayout as well, specifically setting the TelerikTileLayout grid to autofit.
For an idea of what I am currently doing as a means of possibly finding a (better) way to implement this in the future, this is the long ugly javascript code I have that is used to gather a minimum size and return it to blazor via JsInterop.
function (tileId, minSpanSize = 4) {
try {
var el = document.getElementById(tileId);
var tileLayout = $(el).closest(".k-tilelayout")[0];
var parentTile = $(el).closest(".k-tilelayout-item")[0];
var headerHeight = $(el).parent().siblings(".k-tilelayout-item-header")[0].offsetHeight;
var parentSpan = parseInt(parentTile.style.gridRowEnd.split("span ")[1]);
var gap = parseInt(tileLayout.style.gap.replace("px", ""));
var rowHeight = parseInt(tileLayout.style.gridAutoRows.split(",")[1].split("px")[0]);
// cannot recall where I got 1.25 from
var minSize = Math.ceil((headerHeight + el.offsetHeight) / ((gap / 1.25) + rowHeight));
// if parent is less than minsize
if (parentSpan < minSize) {
parentTile.style.gridRowEnd = "span " + minSize;
return { id: tileId, minSize: minSize };
// Otherwise, if min size is greater than or equal to minSpanSie
} else if (minSize >= minSpanSize) {
parentTile.style.gridRowEnd = "span " + minSize;
return { id: tileId, minSize: minSize };
}
} catch { }
return { id: tileId, minSize: -1 };
When a column is filtered, I'd like a better visual indicator of that fact.
The solid background to the menu button is not appealing, and it is applied whether a column is sorted or filtered.
The only full-featured Blazor DataGrid | Telerik UI for Blazor
I'd like a distinct indication of whether a column is filtered -- perhaps a filter icon next to the header text similar to how you might see an arrow when sorted.
---
I've attempted to create this myself using OnStateChangedHandler to iterate through the columns and call a Javascript function that finds the right column header and appends a filter icon. It kind of works sometimes, but I'm not sure I'll able to get it working consistently. Even so, it feel like a fragile hack that will probably break in a future update.
Ideally this would be an added feature, but in the meantime is there a way I can accomplish this myself?
Hi, we are using a tile layout for charts and are having an issue where the tooltips for the second row of tiles are appearing at the bottom of the screen away from the chart or not at all. Then when we scroll back to the first row of tiles the tool tips are out of alignment as well. The following screen shot shows an example.
We have a component that has a tab strip and the tile layout with the following code
<TabStripTab Title="@tabName">
@((MarkupString)tabHeading)
<TelerikTileLayout Columns="6"
RowHeight="225px"
ColumnWidth="285px"
Reorderable="true"
Resizable="true"
OnResize="@ItemResize"
OnReorder="@ItemReorder"
@ref="@TileLayout">
<TileLayoutItems>
@foreach (CustomChartViewModel chart in tab.Charts)
{
int colSpan = 2;
int rowSpan = 2;
<TileLayoutItem RowSpan="@rowSpan" ColSpan="@colSpan">
<HeaderTemplate>
<div style="text-align: right">
<TelerikButton OnClick="@(() => onDeleteChart(chart.Id, tab.Id))">X</TelerikButton>
</div>
</HeaderTemplate>
<Content>
<ChartComponent ViewModel="@chart" @ref="@charts[chart.Id]" />
</Content>
</TileLayoutItem>
}
</TileLayoutItems>
</TelerikTileLayout>
</TabStripTab>And then a chart component that renders the individual charts with a tooltip
<TelerikChart @ref="@ChartRef" Height="100%" Width="100%" OnSeriesClick="@OnSeriesClickHandler">
<ChartTooltip Visible="true">
<Template>
<TelerikIcon Icon="information" />
@(context.Percentage.ToString("P", nfi))<br />
@((context.DataItem as MyDataModel).toolTip)
</Template>
</ChartTooltip>
<ChartSeriesItems>
<ChartSeries Type="ChartSeriesType.Donut" Data="@Data" Field="value" CategoryField="category" ColorField="color">
<ChartSeriesLabels Position="ChartSeriesLabelsPosition.OutsideEnd"
Visible="@ViewModel.ShowLabels"
Background="transparent"
Template="#= category #: #= value#">
</ChartSeriesLabels>
</ChartSeries>
</ChartSeriesItems>
<ChartTitle Text="@ViewModel.Name"></ChartTitle>
<ChartLegend Position="ChartLegendPosition.Bottom" Visible="@ViewModel.ShowLegend"></ChartLegend>
</TelerikChart>