2014-01-14 3 views
1

У меня есть datgridview, и я хочу сделать редактирование значений ячейки на этом datagridview. Но когда я редактирую значение ячейки, старое значение исчезает. Так есть способ отслеживать или извлекать старое значение этой отредактированной ячейки?Как отслеживать старое значение в ячейке datagridview?

благодаря

ответ

2

Также вы можете играть с 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 
    } 
} 
2

Посмотрите на CellValidating события:

void dgv_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
{ 
    var oldValue = dgv[e.ColumnIndex, e.RowIndex].Value; 
    var newValue = e.FormattedValue; 
} 
Смежные вопросы