|
@code
{
private SfGrid<Order> Grid;
private bool IsModalOpen = false;
private List<Order> Orders = new List<Order>
{
new Order { OrderID = 1, CustomerID = "ALFKI", ShipCountry =
"Germany" },
new Order { OrderID = 2, CustomerID = "ANATR", ShipCountry =
"Mexico" },
new Order { OrderID = 3, CustomerID = "ANTON", ShipCountry =
"USA" },
new Order { OrderID = 4, CustomerID = "ANATR", ShipCountry =
"Russia" },
new Order { OrderID = 5, CustomerID = "ALFKI", ShipCountry =
"UK" },
};
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await JSRuntime.InvokeVoidAsync("preventSyncfusionF2",
DotNetObjectReference.Create(this));
}
}
[JSInvokable]
public void
OpenModal()
{
IsModalOpen = true;
StateHasChanged();
}
private void CloseModal()
{
IsModalOpen = false;
}
JS
window.preventSyncfusionF2 = function (dotNetRef) {
document.addEventListener("keydown", function (event) {
if (event.key === "F2") {
event.preventDefault();
event.stopImmediatePropagation();
dotNetRef.invokeMethodAsync("OpenModal");
}
}, true);
};
|