2010-07-26 42 views
3

這就是我想實現:如何在更新Datagridview時查找底層Datatable中的哪些行已更新?

  1. DataTable的人口使用從非數據庫源
  2. 此表綁定到使用的BindingSource
  3. 在DataGridView由用戶更新一個DataGridView,使數據一些細胞現在具有新的價值。
  4. 由於該表綁定到datagridview,所以其值更新。

如何獲取網格/數據表中的更新行(已編輯的行)?

我曾嘗試:

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

但這總是返回0行。有沒有辦法只得到修改的行?

最壞的情況:

  • 保留原始表
  • 的副本從datagridview的數據源
  • 比較所有行獲取新表。

謝謝!

回答

2

如何:

DataTable changedRecordsTable = dataTable1.GetChanges(); 

你可以找到更多的細節在How to: Retrieve Changed Rows

+1

我要補充:_table.AcceptChanges() – eastender 2010-08-03 12:18:15

+0

哦,好。我很高興它爲你工作。 – DOK 2010-08-03 21:26:00