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 (将#修改为@)