|
<SfGrid DataSource="@Orders" EnableAutoFill="true" AllowSelection="true" Toolbar="@(new List<string>() { "Add", "Update", "Cancel" })">
<GridSelectionSettings CellSelectionMode="CellSelectionMode.Box" Mode="Syncfusion.Blazor.Grids.SelectionMode.Cell" Type="SelectionType.Multiple"></GridSelectionSettings>
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Batch"></GridEditSettings><GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" IsPrimaryKey="true" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150"></GridColumn>
<GridColumn Field=@nameof(Order.OrderDate) HeaderText=" Order Date" TextAlign="TextAlign.Right" Width="130">
<EditTemplate>
<SfAutoComplete @ref="AC1" ID="OrderDate" Value="@((context as Order).OrderDate)"
DataSource="@Orders.GroupBy(o => new { o.OrderDate }).Select(o => o.FirstOrDefault()).ToList()">
<AutoCompleteFieldSettings Value="OrderDate"></AutoCompleteFieldSettings>
<AutoCompleteEvents Created="@(() => OnCreate("OrderDate"))" TValue="string"></AutoCompleteEvents>
</SfAutoComplete>
</EditTemplate>
</GridColumn>
<GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" TextAlign="TextAlign.Right" Width="120">
<EditTemplate>
<SfAutoComplete @ref="AC2" ID="Freight" Value="@((context as Order).Freight)"
DataSource="@Orders.GroupBy(o => new { o.Freight }).Select(o => o.FirstOrDefault()).ToList()">
<AutoCompleteFieldSettings Value="Freight"></AutoCompleteFieldSettings>
<AutoCompleteEvents Created="@(() => OnCreate("Freight"))" TValue="string"></AutoCompleteEvents>
</SfAutoComplete>
</EditTemplate>
</GridColumn>
</GridColumns>
</SfGrid>
@code{
SfAutoComplete<string, Order> AC1 { get; set; }
SfAutoComplete<string, Order> AC2 { get; set; }
public List<Order> Orders { get; set; }
public async Task OnCreate(string Col)
{
await Task.Delay(200);
switch (Col)
{
case "Freight":
await AC2.FocusIn();// to focus the corresponding component
break;
case "OrderDate":
await AC1.FocusIn(); // to focus the corresponding component
break;
}
}
|