如何获取数据集行的特定版本?

Posted

技术标签:

【中文标题】如何获取数据集行的特定版本?【英文标题】:How can I get a specific version of a dataset row? 【发布时间】:2009-06-26 19:33:16 【问题描述】:

使用数据集,每一行都有一个名为 hasVersion() 的方法,这对我来说意味着它保留了该行的原始版本和当前版本的副本。如何获得原始行值之一?

我想可以在该行上调用拒绝更改然后检查值,但我宁愿不丢失更改,只需读取值。

【问题讨论】:

【参考方案1】:

如果您正在查看特定行,则可以通过 DataRowVersion 枚举通过其中一个重载获取该行值的特定版本,例如

SomeDataRow[0, DataRowVersion.Original] //by index
SomeDataRow["ColumnName", DataRowVersion.Original] //by column name

除此之外,您可能还想在数据表上使用GetChanges() 方法。传入DataRowState(在您的情况下为DataRowState.Modified),然后使用上述内容获取已更改的任何行的原始值。

【讨论】:

这看起来应该很好用,我得测试一下。当您将强类型数据表作为 datagridview 的数据源时,datagridview 的更改会反映在数据集中吗? 是的。实际上,这是所有 DataSet/DataTables 所固有的,而不仅仅是强类型。 DataSet 包含一个将跟踪更改的 diffgram。假设您有一个绑定到 DataTable 的 DataGridView,那么无论 DataRows 发生什么变化,都会有一个 DataRowState 为“Modified”。 仅供参考 操作问题是“数据集行的特定版本?”不是数据行中列的特定版本 r

以上是关于如何获取数据集行的特定版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何仅获取特定行的列均值?

我如何只使用一行来获取“R”中该特定行的分位数

如何获取所有行的 QuerySet,每一行都有特定的字段?

如何在分页中获取特定行的页码

如何从选定行的网格面板中仅获取特定值

如何在jQuery中获取对具有特定值的表行的引用