когда я автоматически добавляю новую запись, она сохраняет только одну запись
У меня есть сетка данных синхронизации, я хочу, чтобы при сохранении записи автоматически добавлялась новая запись. Я написал код, но он реализуется только один раз, а затем добавляет новую запись без сохранения предыдущей записи.
это мой код:
<SfGrid @ref="Grid" DataSource="Orders" Toolbar="@(new List<string>() { "Add", "Delete", "Update", "Cancel" })">
<GridEvents OnActionComplete="OnActionComplete" TValue="Order"></GridEvents>
<GridEditSettings AllowAdding="true" AllowEditing="true" AllowDeleting="true" Mode="EditMode.Normal">
</GridEditSettings>
<GridColumns>
<GridColumn Field=@nameof(Order.id) HeaderText="Order ID" IsPrimaryKey="true" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field=@nameof(Order.Name) HeaderText="Customer Name" Width="120"></GridColumn>
<GridColumn Field=@nameof(Order.country) HeaderText="Ship Country" Width="150"></GridColumn>
</GridColumns>
</SfGrid>
@code{
public SfGrid<Order> Grid { get; set; }
public List<Order> Orders { get; set; }
public class Order
{
public int id { get; set; }
public string Name { get; set; }
public string country { get; set; }
}
void OnActionComplete(ActionEventArgs<Order> args)
{
if (args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Save))
{
Grid.AddRecordAsync();
}
}
}
1 ответ
Мы подозреваем, что указанная проблема возникает из-за того, что метод AddRecord срабатывает до сохранения ранее добавленной записи. Поэтому мы предлагаем вам ввести временную задержку перед вызовом метода AddRecord. Также мы объявили заказы как новый список(). Пожалуйста, проверьте прилагаемый образец для справки. Если вы столкнетесь с какими-либо трудностями, пожалуйста, свяжитесь с нами.
Образец: https://www.syncfusion.com/downloads/support/directtrac/general/ze/BlazorApp1-1302435764.zip