我有一個從包含可編輯列的SQL Server數據庫加載的datagridview。我想檢查用戶是否更改了datagridview中的數據,之後我可以將數據保存回數據庫,並且如果用戶沒有更改任何內容,那麼它將不會將數據保存到數據庫。我不想更新原始記錄上的數據,在datagridview發生更改後,它應該將數據插回數據庫。像主人和用戶模板一樣。Datagridview檢查更改並插入記錄
-1
A
回答
0
DataGridViewCell不會跟蹤更改。如果您需要知道只有一個單元格的值已更改,請使用CellValueChanged事件並在那裏執行您的操作。如果您需要知道哪些細胞已被修改,所以你可以列舉出來,做是必要的,試試這個:
HashSet<DataGridViewCell> changedCells = new HashSet<DataGridViewCell>();
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
DataGridView dgv = sender as DataGridView;
if (!changedCells.Contains(dgv[e.ColumnIndex, e.RowIndex]))
{
changedCells.Add(dgv[e.ColumnIndex, e.RowIndex]);
}
}
不要忘了勾的DataGridView的CellValueChanged事件。當您需要更改單元格列表時,請執行以下操作:
foreach (DataGridViewCell cell in changedCells)
{
// Your work here
}
這僅適用於UI級別。如果你的數據被代碼改變了,你將需要不同的方法。
See here for complete reference
見[Nikola Markovinović][2]
答案
0
我想你可以使用asp.net網格的OnRowUpdating="GridViewUpdateEventHandler"
。
+0
在DataGridView是一個WinForms控制,而不是ASP.NET網格控件。 –
相關問題
- 1. 插入特定的值更改記錄
- 2. 如何檢查記錄是否存在並使用MYSQL插入?
- 3. 從DataGridView記錄列表中的更改
- 4. 在插入新記錄之前檢查記錄的存在
- 5. 如何檢查模塊/類/方法是否已更改並記錄更改?
- 6. 插入批記錄,許多插入查詢,遊標,while循環或事務記錄每個記錄更好
- 7. 插入記錄
- 8. 更新記錄,如果失敗,插入記錄,然後更新
- 9. 在datagridview單元格值更改後更新數據庫記錄?
- 10. 實體框架:在插入新記錄之前檢查記錄的存在
- 11. 檢查表是否沒有記錄,然後在表中插入3條記錄
- 12. T-SQL將記錄插入我們的ERP,檢查重複記錄
- 13. 檢測嘗試在字典中插入nil並記錄回溯
- 14. 實體框架:插入新記錄並更新此記錄的信息
- 15. 插入SQL並刪除記錄
- 16. 併發導致重複記錄插入
- 17. 我怎樣寫插入之前觸發檢查重複檢查6000+記錄
- 18. 檢查是否存在記錄,如果是「更新」,如果沒有「插入」
- 19. 如何檢查記錄是否已經存在,然後更新或插入laravel?
- 20. PDO:使用mysql檢查更新或插入的記錄INSERT ON DUPLICATE KEY UPDATE
- 21. 如何在插入和更新時檢查表格中的重複記錄
- 22. 檢查是否插入Thread OnStart中的記錄c#
- 23. 在將記錄插入Access之前檢查重複
- 24. 如何檢查插入MySQL表中的新記錄是否
- 25. 檢查是否存儲過程插入記錄
- 26. 檢查和插入記錄的最佳方法
- 27. 檢查我是否已經插入特定記錄
- 28. 插入前檢查是否存在記錄
- 29. 如何檢查是否存在記錄,如果不插入
- 30. 不能插入last_name記錄並行名稱記錄
感謝您的回覆,但實際上我正在尋找的是在插入記錄之前檢查gridview中的任何更改。我有我的GridView中的模板字段進行編輯,但編輯後,我怎麼知道用戶已經改變了任何東西。 – naeemmalik