I am using a Column Chart component inside my Blazor application.
When viewed on a mobile screen, the user is unable to pan the window, because i think the chart registers this as an event. If the user touches the chart, they cannot scroll the window anymore.
I am not using any additional events on my chart, it does not need any interaction.
How can I adjust the chart so that it can be touched and scrolled?
Code snippet:
<div style="@((DialogOpen) ? "visibility: hidden;" : "visibility: visible;")">
<TelerikChart Height="200px">
<ChartZoomable Enabled="false"></ChartZoomable>
<ChartPannable Enabled="false"></ChartPannable>
<ChartSeriesItems>
<ChartSeries Type="ChartSeriesType.Column" Name="min/100m" Data="@GraphData" Field="@nameof(GraphData)" Color="#9edfff">
</ChartSeries>
</ChartSeriesItems>
<ChartCategoryAxes>
<ChartCategoryAxis Categories="@GraphX.ToArray()"></ChartCategoryAxis>
</ChartCategoryAxes>
<ChartLegend Position="ChartLegendPosition.Bottom">
</ChartLegend>
<ChartTitle Text=""></ChartTitle>
</TelerikChart>
</div>I have a Blazor grid for a collection of key-value pairs where the edit template for one cell has a ComboBox with a list of the possible keys. The requirement is that each key can only be used once. My grid's OnEdit handler is:
private void OnEdit(GridCommandEventArgs e)
{
MyModel model = (MyModel)e.Item;
if (e.Field == nameof(MyModel.KeyTypeId))
{
IEnumerable<byte> typeIdsInUse = Data.Select(x => x.KeyTypeId).Except([model.KeyTypeId]).ToArray();
KeyTypesForDropDown = KeyTypes!.Where(x => !typeIdsInUse.Contains(x.KeyTypeId)).ToList();
if (KeyTypesForDropDown.Count == 0)
{
Notification.Show("There are no more keys available to add.", ThemeConstants.Notification.ThemeColor.Warning);
e.IsCancelled = true;
}
}
}My problem is that I can't figure out how to find this ComboBox in the grid cell during my test in order to validate that its data is correct. This is how far I got:
GridCommandEventArgs args = new()
{
Item = new MyModel(),
};
await grid.InvokeAsync(() => grid.Instance.OnAdd.InvokeAsync(args));
await grid.InvokeAsync(() => grid.Instance.OnCreate.InvokeAsync(args));
var state = grid.Instance.GetState();
state.OriginalEditItem = state.EditItem = (MyModel)args.Item;
await grid.Instance.SetStateAsync(state);
grid.Render();
var rows = grid.FindComponent<GridRowCollection<MyModel>>();
rows.Render();
state = grid.Instance.GetState();
state.EditField = nameof(MyModel.KeyTypeId);
await grid.Instance.SetStateAsync(state);
grid.Render();
rows.Render();
var row = rows.FindComponent<GridRow<MyModel>>();
Assert.True(row.HasComponent<GridEditCell<MyModel>>());

I have the following setup:
<TelerikForm Model="@Item"
OnUpdate="@UpdateHandler"
ColumnSpacing="5px">
<FormItems>
<FormItem Field="value">
<Template>
<TelerikNumericTextBox @bind-Value="@Item.Value"
DebounceDelay="0"
Arrows="false"
ValidateOn="ValidationEvent.Change"/>
</Template>
</FormItem>
</FormItems>
<FormButtons/>
</TelerikForm>
The value is a nullable thus the field is empty at first. If I start typing with a leading "-" (minus sign) it will validate (field turn red) and call the update method, which is contrary to what I expect due to the ValidateOn Change setting.

I have a TextArea that I need to remove the ability from pressing Enter to go to the new line and instead call a function I have created.
I would however like to keep all other functionality such as Shift+Enter going to a new line.
Here is my TextArea:
<TelerikTextArea Class="no-resize pl-2 mr-2 w-100" @bind-Value="@NewMessage" Placeholder="Type your message" SpellCheck="true"/>
I have a _Host.cshtml (underscore) not a Host.cshtml.
The information provided is pretty generic "manually update your code after the wizard completes"? Not much of a wizard, what exactly do I need to manually update?
Rob.
I am brand new to Telerik. I am beginning a new Blazor application in Visual Studio and would like to know what best practices I should follow regarding the structure of my application. For example:
Thanks in advance for your help.

We upgraded from 7.1.0 to 9.0.0 which was more difficult than it should be IMHO.
We use TeamCity to do the builds.
We use Octopus to do the deployments.
However, the bigger issue is the new license process. I can understand Telerik's need to protect content/work from "fake malicious developers" (use that word loosely as anyone that steals software isn't really a developer), but your current license process leaves MUCH to be desired.
Adding environment variables to a server? Copying license files to the server? It's pretty rare that a developer will be permitted that sort of access to a server which means a request to the server group (open a ticket) and wait and hope. Anyway, I was able to get this completed but still get the same license issue.
And the file is located in the correct path. And Telerik.Licensing version 1.6.5. Added read access to C:\Telerik for IIS. Nothing, still same problem. What am I missing here?
I've used the article below as reference and we still get the following:
Blazor License Key - Telerik UI for Blazor
I've run out of ways to try to make this work?
Rob.
<FormItem Field="Number1" ColSpan="2">
<Template>
<label for="Number" class="k-label k-form-label">
@Localizer["Form_JednAdminView_Number"]:
</label>
</Template>
</FormItem>
<FormItem Field="Number1" ColSpan="1">
<Template>
<TelerikNumericTextBox Id="Number1" Value="@DataContext.FormData.Number1" ValueExpression="@(() => DataContext.FormData.Number1)" ReadOnly="true" />
<TelerikValidationTooltip For="@(() => DataContext.FormData.Number1)" TargetSelector="#Number1" />
</Template>
</FormItem>
<FormItem Field="Number2" ColSpan="1">
<Template>
<TelerikTextBox Id="Number2" Value="@DataContext.FormData.Number2" ValueExpression="@(() => DataContext.FormData.Number2)" ReadOnly="true" />
<TelerikValidationTooltip For="@(() => DataContext.FormData.Number2)" TargetSelector="#Number2" />
</Template>
</FormItem>
@GetEmptyFormItem(4)
Hello Everyone,
I'm working on a Blazor Server project, and I've replaced the default navigation menu with a TelerikMenu component. It produces this:
When I click the Counter, Weather, etc, I get to the correct page. Here's how my project is layed out:
You can see that the Home.razor page is in the same location as the Weather and Counter page. I'm also able to get to the pages under the DisplayData folder. Here's the code:
<div>
<img src="picture.png" style="height: 300px; margin-right: 10px;">
</div>
<TelerikMenu Data="@MenuData"
Orientation=@MenuOrientation.Vertical></TelerikMenu>@code{
public List<MenuItem> MenuData { get; set; }
public class MenuItem
{
public string Text { get; set; }
public string Url { get; set; }
public ISvgIcon Icon { get; set; }
public List<MenuItem> Items { get; set; }
}
protected override void OnInitialized()
{
GenerateMenuData();
}
public void GenerateMenuData()
{
MenuData = new List<MenuItem>()
{
new MenuItem()
{
Text = "Home",
Url = "Home",
Icon = SvgIcon.Home
},
new MenuItem()
{
Text = "Counter",
Url = "Counter",
Icon = SvgIcon.Calculator
},
new MenuItem()
{
Text = "Weather",
Url = "Weather",
Icon = SvgIcon.Globe
},
new MenuItem()
{
Text = "Display Data",
Url = "",
Icon = SvgIcon.Data,
Items = new List<MenuItem>()
{
new MenuItem()
{
Text = "Delme Table",
Url = "/DelMeTable",
Icon = SvgIcon.Data // SvgIcon.User
},
new MenuItem()
{
Text = "Delme Telerik",
Url = "/DelmeTelerikTable",
Icon = SvgIcon.Data
},
new MenuItem()
{
Text = "Delme Telerik SQL",
Url = "/DelmeTelerikTableSQL",
Icon = SvgIcon.Data
}
}
}
};//end of MenuData
}//end of GenerateMenuData()
//
}When I try to get back to the Home page, I get a "Not Found" error. Also of note, when the application launches to the Home page, here is the URL (from the debugger): localhost:7044.
My question is, how do I set the URL for the home page to get back to it?
Thanks,
Mike
