Hi! I want to place RadzenDataGrid inside EditForm in order to perform validation of various editors with EditContext. Here is my code example:
<EditForm EditContext=editContext>
<RadzenDataGrid @ref=grid Data=@MyModel.Items TItem="SomeItem">
<Columns>
<RadzenDataGridColumn TItem="SomeItem" Property="Text" Title="Text">
<EditTemplate Context="item">
<RadzenTextBox @bind-Value="item.Text" />
</EditTemplate>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGrid>
<RadzenButton Click="Edit" Text="Edit"/>
<RadzenButton Disabled="@(!CanSave)" Text="Save"/>
</EditForm>
@code
{
RadzenDataGrid<SomeItem> grid;
SomeModel MyModel = new SomeModel();
public bool CanSave { get; set; } = false;
private EditContext? editContext;
protected override void OnInitialized()
{
editContext = new EditContext(MyModel);
editContext.OnFieldChanged += HandleFieldChanged;
base.OnInitialized();
}
private void HandleFieldChanged(object? sender, FieldChangedEventArgs e)
{
if (editContext != null)
{
CanSave = editContext.Validate();
}
}
private async Task Edit()
{
await grid.EditRow(MyModel.Items.First());
}
public class SomeModel
{
public List<SomeItem> Items { get;set; } = new List<SomeItem>()
{
new SomeItem
{
Text = "1"
},
new SomeItem
{
Text = "2"
},
new SomeItem
{
Text = "3"
},
new SomeItem
{
Text = "4"
}
};
}
public class SomeItem
{
public string Text { get;set; }
}
}
HandleFieldChanged event is never fired. Is it possible to use RadzenDataGrid with EditContext?