winform 中的 DataGridView 控件 当Cell 的值改变时, OnCellValueChanged 事件会触发用 grid[e.ColumnIndex, e.RowIndex].Value 可得到修改后的值那我怎么在该事件中得到该 Cell 的旧值(修改前的值)呢, 我看过别的一些 grid 都会提供一个 OnCellValueChanging 事件, 在这里是可以取得旧值的但 .net 的 DataGridView 却没有... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以在BeginEdit時把值存在單元格的tag裡呀 只有用变通的方法来处理. private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) return; object oldvalue = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Tag; object newvalue = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value; // // 相应的处理. // this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Tag = newvalue; } 用:EditingControlShowing试试,参考; 数组的一点小疑惑 如何终止XmlDocument类中的Load方法? 如何更改通过 数据源--详细列表 拖拽到窗体中的数据 RichTextbox 的问题,,在线等答案! 关于DataGrid 绑定 CheckBox C#中,怎么使用同个方案不同项目的class WinForm交流,新建QQ群组:1800537 从表示层的datagrid更新了数据后,如何更新到数据库? DataRowCollection使用过程中莫名错误?有时出现提示索引X找不到,详细请进 win98中可以运行.net编写的程序吗 程序调用存储过程中遇到的一个离奇问题 最后 40 分 大家帮忙来看看
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{ if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
object oldvalue = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Tag;
object newvalue = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
//
// 相应的处理.
//
this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Tag = newvalue;
}