使用MVVM从DataGridView保存更改的最佳方法

时间:2016-08-15 16:36:42

标签: c# wpf mvvm data-binding

我的DataGridView在我的视图模型中绑定到ObservableCollection。 集合中的项目实现INotifypropertyChanged。项目从EF加载一些字段,并从web请求一些字段。

用户可以修改DataGridView中的某些字段。用户编辑单元格时如何保存数据库中项目的更改(没有任何"提交"按钮)?

填写列表时,我可以订阅列表PropertyChanged事件中的每个项目。这是一个好方法吗?

在事件处理程序中有类似的东西:

    private void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
    {
        var item = (TradeItemViewModel) sender;
        if (e.PropertyName == "CountLimint" || e.PropertyName == "PriceLimit")
        {
            var repository = new ItemsRepository();
            var dto_item = repository.GetById(item.ClassId, item.IntanceId);
            dto_item.CountLimit = item.CountLimint;
            dto_item.PriceLimit = item.PriceLimit;
            repository.Update(dto_item);
        }
    }

0 个答案:

没有答案