【发布时间】:2014-07-31 13:56:03
【问题描述】:
我有一个包含 datagridview 的 winform。表格与数据完全脱节。代码隐藏调用一个 web 服务,它返回一个表。该表成为 datagridview 的数据源。一旦显示了 datagridview,用户就可以编辑他们想要的任何行。目前,当他们点击“更新”按钮时,网格中的每一行都会返回。
有没有办法只返回 datagridview 中更改的行?
更新:根据 Tezzo 在下面的回答,我能够做到这一点:
var changedRows = ((DataTable)dataGridView1.DataSource).GetChanges(DataRowState.Modified).Rows;
【问题讨论】:
-
你能告诉我们更新代码吗?你在哪里退货(以及如何)?
-
从哪里返回?事件?如果提供一些代码会更有帮助。您可以复制从 web 服务返回的表,然后在用户完成编辑后,将每一行分别与原始表中的行进行比较,然后输出不匹配的行。或者跟踪 CellValueChanged 事件更改了哪些行。根据提供的信息,有 2^30 种方法可以做到这一点
标签: c# winforms datagridview