突出显示从DataTable到绑定DataGrid的更改

时间:2018-10-26 17:34:25

标签: c# wpf

我目前正在开发与数据库通信的应用程序。

该应用程序以隐藏代码的形式显示绑定到DataTable的DataGrid中数据库中的表:

MyDataGrid.ItemsSource = _myDataTable.DefaultView;

用户可以通过两种单独的方式来编辑数据:通过双击DataGrid中的单元格直接修改数据,或者使用质量替代面板(用户在其中选择各种参数,在TextBox中输入值),以及单击质量优先按钮。

单击此按钮后,可以通过链接请求匹配字段来直接在DataTable中修改数据,这很好。

但是,我希望突出显示由用户编辑的单元格。尽管在DataGrid编辑中这非常简单,但不适用于大规模编辑。

实际上,对于DataGrid编辑,我只是​​通过执行以下操作来更改DataGridCell样式:

private void MyDataGrid_OnCellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
    {
        if (e.EditAction == DataGridEditAction.Commit)
        {
            DependencyObject depObj = e.EditingElement;
            while (depObj != null && !(depObj is DataGridCell))
            {
                depObj = VisualTreeHelper.GetParent(depObj);
            }

            if (depObj != null)
            {
                DataGridCell gridCell = (DataGridCell)depObj;
                gridCell.Foreground = Brushes.Red;
            }
        }
    }

我正在寻找一种在大规模编辑的情况下执行类似操作的方法,但无法找到一种方法来执行此操作。 您是否对如何突出显示DataTable中所做的更改有任何建议?

0 个答案:

没有答案