C# 判断DataGridView中的一行的状态,判断该行是否为 未提交的新行

 1. 打开一个winform程序,在其中添加一个datagridview控件,并在其中添加若干行数据。

2. 点击datagridview的右下角的空白处,在此处可以看到一个新行,表明可以向其中添加新数据。 3. 在这个新行中输入一些数据,并且不进行提交。

4. 编写代码,在程序中尝试获取这个未提交的新行,看是否能够获取成功。 预期结果: 代码能够获取到未提交的新行,证明代码可以正确地识别datagridview中的未提交的数据。

实际结果: 代码无法获取到未提交的新行,证明存在问题。 原因分析: 在datagridview中,当用户添加新数据时,这些数据并不会立即提交保存到数据库中,而是在用户点击“保存”或“提交”按钮时才会将这些数据一并保存。因此,这些未提交的数据对于开发人员来说,可能是不可见的,需要通过一些手段来获取。

解决方案: 获取未提交的新行的方法有多种,以下是其中一种:

1. 首先,需要遍历datagridview中的每一行,检查这些行的状态。当使用DataBindings属性将datagridview与数据源绑定时,可以使用Row.RowState属性来获取每一行的状态,这个属性可以取到以下值: - Unchanged(未更改):指示该行未发生任何更改。 - Added(已添加):指示该行是一个新行,尚未保存到数据库中。 - Modified(已修改):指示该行已经被修改。 - Deleted(已删除):指示该行已经被标记为删除。

2. 通过检查每一行的状态,可以筛选出所有的未提交的新行。下面是代码示例:
 

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    if (row.IsNewRow && row.Cells[0].Value == null)
    {
        // 找到了未提交的新行

    }
    
}

        在代码中,通过检查IsNewRow属性来判断该行是否是新行,然后检查该行的第一个单元格是否有值,若是空则表示该行的数据还没有提交保存。当检查到未提交的新行时,可以进行相应操作,例如将该行的数据添加到一个列表中。需要注意的是,只有新添加的空行才具有IsNewRow属性,因此这个属性需要和Cells[0].Value属性一起使用,来确定一行是否未提交的新行。

        通过以上方法,我们就可以获取datagridview中的未提交的新行了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值