【问题标题】:Is there a way to know which rows have been modified in a DataGridView in C#有没有办法知道在 C# 的 DataGridView 中修改了哪些行
【发布时间】:2014-06-09 18:57:57
【问题描述】:

我正在使用慢速计算机中的大型数据库,所有行都显示出来并且可以修改。问题是当用户点击保存时,我必须在 MySQL 中更新 300 行,因为我不知道哪些行已被修改,哪些行没有被修改。

有没有办法知道用户修改了哪些行?

谢谢

【问题讨论】:

  • DataGridView.CellValueChanged 也许?
  • 你是什么意思你不知道用户点击了哪一行你能不能显示一些代码..?您绝对可以获得用户所在的行,特别是如果您未显示的字段之一是 Id 字段
  • 这是针对每个单元格的,我一直在考虑更多。所以当行失去焦点时,像 DataGridView.RowValuesChanged 这样的东西。
  • 我有一个隐藏列,它是 id。但是我怎么知道用户是否修改了该行?
  • 不,没有绑定TaW

标签: c# mysql datagridview


【解决方案1】:

正如 Ola 建议的那样,您可以使用 CellValueChanged 事件(或您想要的任何其他更改事件)。

由于您的 DGV 未绑定,您可以根据更改的事件跟踪更改的内容,并且当您的用户单击保存时,您只能更新已更改的行。

您可以使用简单的东西来跟踪,例如修改的行号列表(因此在保存期间只需循环遍历这些行),或者如果您想让数据结构和逻辑表示单个更改,则可以使用更复杂的东西.

如果不看你的代码,很难给出更多细节,但基本理论应该很容易应用。

【讨论】:

    猜你喜欢
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多