<SfGrid @ref="Grid" DataSource="@Data" TValue="Orders" AllowFiltering="true" Toolbar="@(new List<string> {"Add","Edit","Delete","Update","Cancel","Search" })" AllowSorting="true" AllowPaging="true">
<GridFilterSettings Type="Syncfusion.Blazor.Grids.FilterType.Menu"></GridFilterSettings>
<GridEvents OnActionBegin="ActionBeginHandler" TValue="Orders"></GridEvents>
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true"></GridEditSettings>
<GridColumns>
<GridColumn Field="OrderID" HeaderText="Order ID" IsPrimaryKey="true" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field="CustomerID" HeaderText="Customer Name" Width="150"></GridColumn>
<GridColumn Field="Freight" HeaderText="Freight" Format="C2" TextAlign="TextAlign.Right" EditType="EditType.NumericEdit" Width="120"></GridColumn>
<GridColumn Field="OrderDate" HeaderText="Freight" TextAlign="TextAlign.Right" EditType="EditType.DatePickerEdit" Type="ColumnType.DateTime" Width="120"></GridColumn>
</GridColumns>
</SfGrid>
@code{
SfGrid<Orders> Grid { get; set; }
List<Orders> Data { get; set; }
protected override async Task OnInitializedAsync()
{
Data = await OrderData.GetPeople();
}
public async void ActionBeginHandler(ActionEventArgs<Orders> Args)
{
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
{
if (Args.Action == "add")
{
await OrderData.InsertOrderAsync(Args.Data);
}
else
{
await OrderData.UpdateOrderAsync(Args.Data.OrderID.ToString(), Args.Data);
}
}
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Delete)
{
await OrderData.DeleteOrderAsync(Args.Data.OrderID.ToString());
}
}
}
|