As I said, the DGV must register changes as an edit to affect the bound table. Simply changing a cell value does not count. Now you can do it in code by locating the cell and calling the BeginEdit method but it's a tedious and occasionally tricky process so it's invariably better to simply change the datatable directly.