如何解决Blazorise Datagrid内联编辑复杂对象
我正在使用Blazorise Datagrid。该扩展程序也支持内联编辑。 编辑简单对象时,内联编辑工作正常。但是当我将对象用作父对象的属性时,更新过程无法按预期进行。当我更改城市时,值未更新。有什么我想念的吗?预先感谢
这是我的代码
<section class="section">
<div class="container">
<DataGrid Data="forecasts" TItem="WeatherForecast" EditMode="Blazorise.DataGrid.DataGridEditMode.Inline">
<DataGridCommandColumn TItem="WeatherForecast" CellsEditableOnEditCommand="true"></DataGridCommandColumn>
<DataGridDateColumn TItem="WeatherForecast" Field="@nameof(WeatherForecast.Date)" Caption="Date" Editable="true"></DataGridDateColumn>
<DataGridDateColumn TItem="WeatherForecast" Field="@nameof(WeatherForecast.Temperature)" Caption="Temperature" Editable="true"></DataGridDateColumn>
<DataGridSelectColumn TItem="WeatherForecast" Field="@nameof(WeatherForecast.City)" Caption="City" Editable="true">
<DisplayTemplate>
@{
var name = (context as WeatherForecast).City?.Name;
@name
}
</DisplayTemplate>
<EditTemplate>
@{
<Select TValue="City" SelectedValue="@((City)(((CellEditContext)context).CellValue))" SelectedValueChanged="@( v => ((CellEditContext)context).CellValue = v)">
@foreach (var item in Cities)
{
<SelectItem TValue="City" Value="@(item)">@item.Name</SelectItem>
}
</Select>
}
</EditTemplate>
</DataGridSelectColumn>
</DataGrid>
</div>
@code {
private List<WeatherForecast> forecasts;
private List<City> Cities;
protected override async Task OnInitializedAsync()
{
forecasts = await ForecastService.GetForecastAsync(DateTime.Now); // get list of forecast
Cities = await ForecastService.GetCityListAsync(); // get list of cities
}}
模型类
public class WeatherForecast
{
public int Id { get; set; }
public DateTime Date { get; set; }
public int Temperature { get; set; }
public City City { get; set; }
}
public class City
{
public int Id { get; set; }
public string Name { get; set; }
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。