首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c#Winforms:DataGridView使事件没有获得上次更新的单元格的值

以下是关于c#Winforms:DataGridView使事件没有获得上次更新的单元格的值的完善且全面的答案:

c#Winforms:DataGridView使事件没有获得上次更新的单元格的值

问题描述:在使用c# Winforms中的DataGridView控件时,事件没有获得上次更新的单元格的值。

解决方法

在DataGridView控件中,可以使用CellValueChanged事件来获取上次更新的单元格的值。以下是一个示例代码:

代码语言:csharp
复制
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    // 获取上次更新的单元格的值
    var oldValue = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].EditedFormattedValue;

    // 获取当前单元格的值
    var newValue = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;

    // 在这里处理您的业务逻辑
}

推荐的腾讯云相关产品

  • 腾讯云数据库:提供MySQL、PostgreSQL、MongoDB等多种数据库类型,支持自动备份、监控告警等功能。
  • 腾讯云对象存储:提供可靠、安全、低成本的云存储服务,支持多种存储类型和API接口。
  • 腾讯云云服务器:提供弹性、可扩展的云计算服务,支持多种操作系统和实例类型。

产品介绍链接地址

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#二十八 数据绑定

事件 说明 CurrentCellChanged 单击单元格时发生 CellContentClick 单击某个单元格时发生 从窗体设计工具箱窗口的“数据”卡片中拖一个DataGridView...Value); } } 要想获得你选中的某一行或某一列单元格的值,就需要用到前面提到的CurrentRow和CurrentCell两个属性,分别返回选中的行对象和返回选中的单元格对象。...(); } DataGridView控件提供了CurrentCellAddress属性来获得选中单元格的列表和行标,如下代码修改DataGridView中选中的单元格中对应表中项的值: privatevoid...y=dataGridView.CurrentCellAddress.Y; //获得列标 //显示当前单元格的值 MessageBox.Show(this.dataGridView.Rows...[x].Cells[y].Value.ToString());// //修改此单元格对应的数据表中项的值 dt.Rows[x][y]=”修改值”; //更新到数据库 adapter.Update

11110
  • DataGridViewCheckBoxColumn的勾选框勾上了,Value却是false

    列,当修改checkbox状态时实时获得其状态值    不知道大家有没有这样的经验,当点击或者取消datagridview的checkbox列时,比较难获得其状态是选中还是未选中,进而不好进行其它操作,...下面就列出它的解决办法: 主要用到了datagridview的CurrentCellDirtyStateChanged和CellValueChanged两个事件 CurrentCellDirtyStateChanged...事件是提交对checkbox状态的修改 CellValueChanged事件是当状态提交后,也就是单元格值改变后做一些其它的操作,这里是将checkbox列的true或false状态作为tooptiptext...属性设置到同一行的button列 CurrentCellDirtyStateChanged事件代码 : private void dataGridView1_CurrentCellDirtyStateChanged...[e.ColumnIndex] as DataGridViewCheckBoxCell;//获得checkbox列单元格                 dgvButtonCell.ToolTipText

    2.2K10

    可视化数据库设计软件有哪些_数据库可视化编程

    2)登录到服务器上,并显示服务器的数据库和系统服务,包括事件日志、消息队列、性能计数器、系统服务和SQL数据库。 3)查看关于可用Web服务的信息以及使信息可用的方法和架构。...///单元格单击事件,获取当前选择的单元格的值--以下有3种方法 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs...textBox5.Text = dataGridView1.SelectedCells[0].Value.ToString();//被选择的单元格数组的第一个的值 textBox5....Text = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();//利用下标返回值 } ///单元格内容点击事件...= dataGridView1.SelectedCells[0].Value.ToString();//被选择的单元格数组的第一个的值 textBox5.Text = dataGridView1

    6.7K40

    【C#】让DataGridView输入中实时更新数据源中的计算列

    本文适用Winform开发,且DataGridView的数据源为DataTable/DataView的情况。...),但dt和dv没有,后者只到行这一级,虽然可以通过DataRow[x]或DataRowView[x]访问单元格的值,但在类层级上并不存在DataCell这样的表示单元格的实体类,也就是dt和dv的编辑...可以看到,计算列得到更新的关键有两处: dgv单元格的数据要提交到数据源相应单元格 源行结束编辑状态 按常规提交流程,必须使焦点离开单元格所在的行(只离开单元格都不行哦)才能达到目的,而我们的需求是,编辑的过程中就要实时更新...一、解决实时更新计算列的问题 可以通过dgv的CurrentCellDirtyStateChanged事件达到目的: private void dgv_CurrentCellDirtyStateChanged...} } 通过这个事件做了上面要做的两个事,即①将dgv单元格值更新到数据源;②结束源行编辑状态。

    5.3K20

    Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术

    一般来说控件都是放到窗体或任务窗格中,但Excel同样支持将控件放到工作表单元格上,如前面提到的picturebox容器,放到单元格区域上,然后在容器上发图片,实现插入图片功能,同样地也可以存放单选、复选这些控件...自定义控件,可直接用到工作表单元格中 具体实现原理 通过用户配置操作,将需要进行快速录入的区域记录下来,用SelectionChange事件来响应,若用户选择到这些单元格时,就激发事件方法,显示自定义控件...输入过程中动态控制下方DataGridView的查找结果,用户可以按方向箭下上在结果中选择对应的条目,再按Enter或Tab键确定内容录入。...,原代码没有来得及重新改过来。...,使我们在上层构建业务代码时变得如此轻松,此篇给大家展示了在工作表单元格区域上创建自定义控件的能力,发挥得当,较直接弹出窗体的效果要友好得多。

    1.3K10

    WinForm 控件 DataGridView 常用操作

    1、取消列自动生成 在窗体load事件里面设置表格dataGridView的AutoGenerateColumns为 false dataGridView.AutoGenerateColumns = false...- 40, e.RowBounds.Top + 4, 16, 16); } 7、转换单元格显示 在表格的CellFormatting事件里面进行转换操作,比如一个状态字段是int类型,显示需要转换成对应的字符串显示...]; //取得列值,如果是绑定的数据,可以将row.DataBoundItem转换成绑定对象再取值判断 var cell=row.cell[0].value.ToString...在表格的CellMouseDown事件里面设置选中行 private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs...= false; dataGridView.Rows[e.RowIndex].Selected = true; } } 9、修改单元格值,单行刷新重绘 //dgvBook.SelectedRows

    1.8K30

    在DataGridView控件中加入ComboBox下拉列表框的实现

    本文介绍一种只在当前编辑单元格中显示下拉列表框的方法,供大家参考。   ...控件中     this.dgv_User.Controls.Add(cmb_Temp); }   当用户选择的单元格移动到性别这一列时,我们要显示下拉列表框,添加如下事件 private void dgv_User_CurrentCellChanged...单元格的内容 private void cmb_Temp_SelectedIndexChanged(object sender, EventArgs e) {     if (((ComboBox)sender...dgv_User_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) {     this.cmb_Temp.Visible = false; }   绑定数据表后将性别列中的每一单元格的...DataGridViewColumnEventArgs e)         {             this.cmb_Temp.Visible = false;         }         // 绑定数据表后将性别列中的每一单元格的

    3.9K20

    WinForm 为 DataGridViewCell 绑定 DataGridView

    对外提供一个 public 的方法: // 正常 Type1 是 JSON 的数据集或者 BSON 的数据集 public void FillDataGridView(Type1 data, DataGridView...){             // 创建子 DataGridview             // 属性根据自己的需要设定             DataGridView view = new DataGridView... = gridView;             // 以下这种方法,需要单元格都是等长等宽才能有好的效果             view.Left = gridView.Left + gridView.RowHeadersWidth...DataGridview 以及子 DataGridview 设置响应事件             // 以至于达到我们想要的效果:点击 cell 用另外一个 DataGridview 显示出该 cell...view.Visible = true;         // 此处让 view 获得焦点时为了给 GridViewLeave 提供方便         // 如果此处不加 Focus 的话,就需要先点击

    1.1K50

    WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter

    一、如何从 Datagrid 中获得单元格的内容    DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. ...但是,WPF中的DataGrid 不同于Windows Forms中的 DataGridView。 ...在DataGrid的Items集合中,DataGridRow 是一个Item,但是,它里面的单元格却是被封装在 DataGridCellsPresenter 的容器中;因此,我们不能使用 像DataGridView.Rows.Cells...这样的语句去获得单元格的内容。...IValueConverter  有的时候,我们想让绑定的数据以其他的格式显示出来,或者转换成其他的类型,我们可以 使用值转换器来实现.比如我数据中保存了一个文件的路径”c:\abc\abc.exe”

    5.6K70

    期末作业C#实现学生宿舍管理系统

    开发背景 完整代码下载地址:点我下载 优化移步: 《c#中在datagridview的表格动态增加一个按钮方法》 《C#实现多窗口切换:Panel详细教程(亲测)》 文章还在更新,上次更新时间2022...做一个获取,需要获取id值,来进行删除,首先新建一个“删除”按钮 双击在该方法中加入代码(这部分代码很关键,建议看懂,在开发中我找到另外一个方法不过他存在bug,这个无论有没有值不会报错)...,所以步骤是一样的,新建一个修改按钮,如下图所示: 双击后我们在该点击事件加入获取id的代码(和刚刚的一样): //修改 int index = dataGridView1.SelectedCells...答:通过表单传值记录id在新的一个窗口查询一次数据,更新则是用了update 如果做到删除?...答:通过表单传值获取到的id进行数据库语句删除,删除本地的再删除数据库里面的 窗口如何传值: 本次通过构造函数,特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在目标窗体中 int

    29730

    C#之二十三 打印和水晶报表

    将报表扩展到Web水晶报表的灵活性并未停留创建报表这一功能上.你可以用各种各的格式发布报表,包括用微软的Word和Excel发布,通过电子邮件甚Web报表功能允许工作组中的其他成员在他们自己的Web浏览器中查看或更新共享报表...该对话框用来选择和配置数据源,如果项目中存在数据源,则在”可用数据源“中选择”项目数据“项,并从选择合适的数据源,如果没有数据源,可以新建一个数据源,本实例以SQL Server 2005为例。...Table对象 的Cell对象 代表表格中的单个单元格,Cell对象是Cells集合中的元素,Cells集合中指定对象中所有的单元格。...(2)Excel对象的Cell属性 Excel.Cells[0,0]=”Excel”; 该属性用来指定Excel工作薄中单元格的内容。...按钮的Click事件实现代码如下: private void button1_Click(object sender, EventArgs e) { ExportDataGridview

    13100
    领券