C#DataGridView添加一行 - 验证时,如何知道该行是新的还是尚未提交?

Cha*_*ung 7 c# datagridview winforms

我有一个客户端在Windows应用程序中遇到DataGridView问题.他们正在调用CellValidated事件,但是如果它已经提交回数据源,那么他们希望对单元格进行不同的验证,而不是首先添加(并且尚未提交)的行(用户)还没有离开行.)我尝试了IsNewRow属性,但是一旦你开始输入行,就会添加另一个"新行",所以你正在使用的行不再被认为是新行.知道该行尚未提交,因为您可以点击Esc取消编辑,整行消失.

有没有办法判断当前编辑的行是否实际上是"新行",因为它尚未提交回数据源?

Cha*_*ung 0

GenericMeatUnit 的答案对我来说不起作用,但它为我提供了足够的信息来找到使其发挥作用的方法。这是我现在进行检查的方式:

if (this.DATASET.DATATABLE.Rows.Count == e.RowIndex)
Run Code Online (Sandbox Code Playgroud)

此 if 语句之所以有效,是因为在将行保留在 DataGridView 中之前,它实际上还不存在于数据表中,因此数据表中的行数将等于新行的 RowIndex,因为 RowIndex 是从零开始的。