如何在更新 Datagridview 时找到基础数据表中已更新的行?

发布于 2024-09-11 07:14:42 字数 507 浏览 8 评论 0原文

这就是我想要实现的目标:

  1. 使用来自非数据库源的数据填充的 DataTable
  2. 该表使用 BindingSource 绑定到 DataGridView DataGridView
  3. 由用户更新,以便某些单元格现在具有新值。
  4. 因为表绑定到 datagridview,所以它的值会更新。

如何仅获取网格/数据表中更新的行(已编辑的行)?

我已经尝试过:

DataRow[] updatedRows = 
              _table.Select(null, null, DataViewRowState.ModifiedCurrent);

但这总是返回 0 行。有没有办法只获取修改后的行?

最坏的情况:

  • 保留原始表的副本
  • 从 datagridview 数据源获取新表
  • 比较所有行。

谢谢!

This is what I am trying to achieve:

  1. DataTable populated using data from non database source
  2. This table is bound to a DataGridView using BindingSource
  3. The DataGridView is updated by the user, so that some cells now have new values.
  4. Because the table is bound to the datagridview its values are updated.

How do I get only the updated rows(the rows which have been edited) in the grid/datatable?

I have tried :

DataRow[] updatedRows = 
              _table.Select(null, null, DataViewRowState.ModifiedCurrent);

But this always returns 0 rows. Is there a way to get only the modified rows?

Worst case:

  • Keep a copy of the original table
  • Get the new table from the datagridview datasource
  • Compare all rows.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

顾挽 2024-09-18 07:14:42

怎么样:

DataTable changedRecordsTable = dataTable1.GetChanges();

您可以在 如何:检索更改的行

How about this:

DataTable changedRecordsTable = dataTable1.GetChanges();

You can find more details at How to: Retrieve Changed Rows

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文