如何判断 UltragridRow 是添加(新)还是刚刚修改?
How to tell if a UltragridRow is added (new) or just modified?
我在 winform 上有一个 Infragistics Ultragrid。如何判断一行是添加的还是刚刚修改的? DataChanged 属性 只会告诉我数据是否已更改,而不是它是否已添加(因此我可以将行数据放入 SQL Insert 语句中)或是否已修改(因此我可以将其放入在 UPDATE sql 语句中。)
For Each row As UltraGridRow In GroupMetadataGrid.Rows
If row.DataChanged Then
Debug.WriteLine("Saving Changed Row")
End If
Next
提前致谢。
如果行已更改或已添加,UltraGrid 不会跟踪。查看 Mike Saltzman 在其论坛 this 主题中的回答。
这是他的回答:
网格不跟踪这个。如果您编辑网格中的一行并移动到另一行,则前一行中的所有更改都将提交到数据源。
网格不直接处理数据库,它只处理它的本地数据源。因此,如果您希望跟踪需要写入数据库的数据源中的更改,那么数据源需要处理这些更改。 DataSet 和 DataTable class 具有对跟踪未决更改的内置支持。
对于网格,您可能需要关心的唯一一件事是网格中的当前 ActiveRow 可能有需要写入其数据源的未决更改。为此,您可以使用 DataChanged。网格在失去焦点时会自动提交更改,但如果您需要手动强制提交更改,您可以使用 grid.UpdateData 方法,或在任何单独的行上使用 Update 方法。
我在 winform 上有一个 Infragistics Ultragrid。如何判断一行是添加的还是刚刚修改的? DataChanged 属性 只会告诉我数据是否已更改,而不是它是否已添加(因此我可以将行数据放入 SQL Insert 语句中)或是否已修改(因此我可以将其放入在 UPDATE sql 语句中。)
For Each row As UltraGridRow In GroupMetadataGrid.Rows
If row.DataChanged Then
Debug.WriteLine("Saving Changed Row")
End If
Next
提前致谢。
如果行已更改或已添加,UltraGrid 不会跟踪。查看 Mike Saltzman 在其论坛 this 主题中的回答。
这是他的回答:
网格不跟踪这个。如果您编辑网格中的一行并移动到另一行,则前一行中的所有更改都将提交到数据源。 网格不直接处理数据库,它只处理它的本地数据源。因此,如果您希望跟踪需要写入数据库的数据源中的更改,那么数据源需要处理这些更改。 DataSet 和 DataTable class 具有对跟踪未决更改的内置支持。 对于网格,您可能需要关心的唯一一件事是网格中的当前 ActiveRow 可能有需要写入其数据源的未决更改。为此,您可以使用 DataChanged。网格在失去焦点时会自动提交更改,但如果您需要手动强制提交更改,您可以使用 grid.UpdateData 方法,或在任何单独的行上使用 Update 方法。