如何跟踪datagridview单元格中的旧值?

时间:2014-01-14 07:30:42

标签: c# winforms datagridview

我有一个datgridview,我想在datagridview上编辑cell的值。但是当我编辑一个单元格值时,旧值就会消失。那么有没有办法跟踪或获取该已编辑单元格的旧值?

感谢

2 个答案:

答案 0 :(得分:4)

此外,您还可以使用CellBeginEditCellEndEdit事件处理程序 并将当前(旧)值保存到datagridview.Tag

void dgv_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
    //Save old value to datagridview.Tag
    dgv.Tag = dgv.CurrentCell.Value;
}

然后在CellEndEdit事件处理程序:

void dgv_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    //Here you can use your old value from .Tag
    //For example compare is new value same as old
    if(dgv.Tag != dgv.CurrentCell.Value)
    {
        //Do your things with new value
    }
}

答案 1 :(得分:3)

查看 CellValidating 事件:

void dgv_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    var oldValue = dgv[e.ColumnIndex, e.RowIndex].Value;
    var newValue = e.FormattedValue;
}
相关问题