2016-03-10 116 views
0

我正在使用一个WinForms DataGridView,它将数据绑定到Datatable。我有一个可编辑的列,它是一个TextBox列。我委托一个事件到DataGridView单元格编辑后的Winforms DataGridView仍然具有原始值

private void dgvProductStocks_CellEndEdit(object sender, DataGridViewCellEventArgs e) 
    { 
     try { 
      var minUnitsOnHand = int.Parse(dgvProductStocks.Rows[e.RowIndex].Cells[5].Value.ToString()); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error: " + ex.Message); 
     } 
    } 

但在CellEndEdit单元格值的CellEndEdit事件始终是原始值,而不是后,我已编辑的列的值。

+0

你尝试'CellValidating'事件?该事件的EventArgs具有新值的属性 – ASh

+0

我想直到触发Update事件才会提交该值。或者,也可能是在更新值之前单元格处于编辑模式,您是否尝试过使用CellValueChanged事件? – Kif

+0

我试过CellValidating和CellValueChanged。没有运气。 –

回答

0

好,我找到了解决方案,我需要使用EditedFormattedValue

var editiedValue = dgvProductStocks.Rows[e.RowIndex].Cells[e.ColumnIndex].EditedFormattedValue; 
相关问题