我有一个datgridview,我想在datagridview上编辑cell的值。但是当我编辑一个单元格值时,旧值就会消失。那么有没有办法跟踪或获取该已编辑单元格的旧值?
感谢
答案 0 :(得分:4)
此外,您还可以使用CellBeginEdit
和CellEndEdit
事件处理程序
并将当前(旧)值保存到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;
}