I use the @onkey binding in my project. This worked fine in version 4.
The following example code no longer throws @onkeydown.
How can I use the @onkey binding in version 5?
Thanks
<RadzenDataGrid @ref="grid" tabindex="0" AllowRowSelectOnRowClick="true" Data="@projectList" TItem="TestProject" SelectionMode="DataGridSelectionMode.Single" @bind-Value=@selectedProjectList
@onkeydown="@ProjectGridOnKeyDown" @onkeyup="@ProjectGridOnKeyUp">
<Columns>
<RadzenDataGridColumn TItem="TestProject" Property="Selecting" Width="60px" Sortable="false" Filterable="false">
<HeaderTemplate>
<RadzenCheckBox TriState="false" TValue="bool" Value="@(projectList.Any(i => selectedProjectList != null && selectedProjectList.Contains(i)))"
Change="@(args => selectedProjectList = args ? grid.View.ToList() : null)" />
</HeaderTemplate>
<Template Context="data">
<RadzenCheckBox TriState="false" Value="@(selectedProjectList != null && selectedProjectList.Contains(data))"
TValue="bool" Change=@(args => this.grid.SelectRow(data)) />
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="TestProject" Property="Name" Title="Name" />
<RadzenDataGridColumn TItem="TestProject" Property="Created" Title="Erstellt am" />
<RadzenDataGridColumn TItem="TestProject" Property="Creator" Title="Erstellt von" />
<RadzenDataGridColumn TItem="TestProject" Property="MacAddress" Title="Mac-Adresse" />
<RadzenDataGridColumn TItem="TestProject" Property="Type" Title="Projekt-Typ">
<Template>
@context.Type.ToString()
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="TestProject" Property="IsFinished" Title="Fertig?" Width="10%" TextAlign="TextAlign.Center">
<Template>
<RadzenCheckBox @bind-Value="context.IsFinished" Disabled="true" />
</Template>
<EditTemplate Context="project">
<RadzenCheckBox @bind-Value="project.IsFinished" />
</EditTemplate>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGrid>
<EventConsole @ref=@console />
@code {
EventConsole console;
protected RadzenDataGrid<TestProject> grid;
protected List<TestProject> projectList = new List<TestProject>();
public IList<TestProject> selectedProjectList { get; set; }
private KeyboardEventArgs keyBoard { get; set; } = null;
protected override void OnInitialized()
{
Console.WriteLine("OnInitializedAsync");
this.projectList.Add(new TestProject("Testprojekt1", true, "FilteredUser", 1, DateTime.Today.AddDays(3), "AA:BB:CC:DD:EE:FF"));
this.projectList.Add(new TestProject("Testprojekt2", false, "FilteredUser", 1, DateTime.Today.AddDays(2), "00:11:22:33:44:55"));
this.projectList.Add(new TestProject("Testprojekt3", true, "FilteredUser", 2, DateTime.Today.AddDays(1), "66:77:88:99:00:AA"));
this.projectList.Add(new TestProject("Testprojekt4", false, "NonFilteredUser", 1, DateTime.Today, "01:23:45:67:89:0A"));
this.projectList.Add(new TestProject("Testprojekt5", true, "NonFilteredUser", 1, DateTime.Today.AddDays(-1), "AB:CD:EF:01:23:45"));
this.projectList.Add(new TestProject("Testprojekt6", false, "NonFilteredUser", 2, DateTime.Today.AddDays(-2), "FE:DC:BA:98:76:54"));
}
public void ProjectGridOnKeyUp(KeyboardEventArgs e)
{
console.Log(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff") + " " + "ProjectGridOnKeyUp");
// reset key press (key event)
keyBoard = null;
}
public void ProjectGridOnKeyDown(KeyboardEventArgs e)
{
console.Log(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff") + " " + "ProjectGridOnKeyDown");
keyBoard = e;
}
public class TestProject
{
public string Name { get; set; }
public DateTime Created { get; set; }
public bool IsFinished { get; set; }
public string Creator { get; set; }
public int Type { get; set; }
public string MacAddress { get; set; }
public TestProject(string name, bool isFinished, string creator, int type, DateTime created, string macAddress)
{
this.Name = name;
this.Created = created;
this.IsFinished = isFinished;
this.Creator = creator;
this.Type = type;
this.MacAddress = macAddress;
}
}
}