Я пытаюсь освоить MudBlazor, так как мне надоело самому разбираться со всем CSS. Он такой красивый и мощный, мне он очень нравится!
Однако я столкнулся с небольшой проблемой. Предположим, вы хотите использовать DataGrid, чтобы столбцы автоматически создавали форму на основе свойств их модели. Пример кода находится здесь: https://www.mudblazor.com/comComponents ... id#editing Найдите пример редактирования.
В коде есть небольшая кнопка редактирования, и когда вы нажимаете на нее, появляется автоматически сгенерированная форма. Там у вас есть кнопки принятия и отмены. Вопрос в следующем:
Как вы управляете кнопкой принятия в автоматически созданной форме?
Я понимаю, что я мог бы изменить свойство OnClick, чтобы он использует мою собственную функцию, но тогда автоматически сгенерированная форма не появится. Я действительно хочу его использовать, но мне просто нужно контролировать действие кнопки «Принять». В приведенном примере кнопка правильно обновляет List, но мне нужно отправить ее в базу данных. идея состоит в том, чтобы избежать повторения 300–1000 элементов, если это возможно.
Спасибо!
BMET1.
На этой картинке показано, о чем я говорю
@using System.Net.Http.Json @using MudBlazor.Examples.Data.Models @inject HttpClient httpClient
x.Number" Title="Nr" IsEditable="false" />
zero
one
seventeen
Read Only
Form
Cell
Manual
On Row Click
@foreach (var message in _events)
{
@message
}
@if(_events.Count > 0)
{
Clear
}
@code {
private IEnumerable Elements = new List();
private bool _readOnly;
private bool _isCellEditMode;
private List _events = new();
private bool _editTriggerRowClick;
protected override async Task OnInitializedAsync()
{
Elements = await httpClient.GetFromJsonAsync("webapi/periodictable");
}
// events
void StartedEditingItem(Element item)
{
_events.Insert(0, $"Event = StartedEditingItem, Data = {System.Text.Json.JsonSerializer.Serialize(item)}");
}
void CanceledEditingItem(Element item)
{
_events.Insert(0, $"Event = CanceledEditingItem, Data = {System.Text.Json.JsonSerializer.Serialize(item)}");
}
void CommittedItemChanges(Element item)
{
_events.Insert(0, $"Event = CommittedItemChanges, Data = {System.Text.Json.JsonSerializer.Serialize(item)}");
} }
Подробнее здесь: https://stackoverflow.com/questions/785 ... nerated-sa