WPF数据网格单元格已更改获取以前的值和当前值

时间:2014-03-06 00:01:14

标签: wpf datagrid event-handling

如果在单元格中进行了更改,我正在尝试更新网格。

看似简单,这是怎么做到的?

这是我的代码:

private void report_datagrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
    {
        bool update = false;
        if (e.RemovedCells.Count > 0)
        {
            if (e.AddedCells.Count > 0)
            {
                var res = (Researcher)((DataGrid)sender).SelectedItem;
            }
        }
        e = null;
        if (update)
            UpdateGrid();
    }

我认为删除了单元格并添加了单元格具有旧值和新值但它没有。它实际上显示了不同的行。我需要比较旧值,运行存储过程,然后基本上更新网格。一切都被我无法区分的事实所阻碍。

1 个答案:

答案 0 :(得分:0)

SelectedCellsChanged仅在选择更改时被触发,而不是在单元格中的数据发生更改时触发,因此无法帮助您进行比较。添加/删除的单元格是被选中和取消选择的单元格,不考虑值的变化。

完成此操作的“正确”方法(实际上可能是最简单的)是将行绑定到对象(以及将单元格绑定到属性),然后在setter中执行存储过程,该setter可以访问旧的值..请参阅我对类似问题的回答here

如果您需要对该答案的解释或一些示例代码,我很乐意提供,请告诉我。