之前为了实现这个问题,百度了很多帖子,也还是没能看明白,或许别人需要的功能太复杂,或许……
------------------废话分割线----
首先获取被选中的行序号:
int selected = productDataDataGridView.SelectedRows[0].Cells[0].RowIndex;//只让选一行,就直接0,0了。
拿到被选中的那行:
DataRow dr = productDataSet.ProductData.Rows[selected];
标记删除:
dr.Delete();
更新数据库:
productDataTableAdapter.Update(productDataSet);
搞定。
------------------一个小问题------------------
之前删除行使用的是dataTable.RemoveAt(selected)
结果导致了再GridView里面显示已经删除,而当程序重启后,该行依然存在,即数据库中的行并没有删除。
后来百度得知,原因是使用RemoveAt将行移除,导致无法为更新数据库sql语句提供行。
害我还自作聪明的使用RemoveAt……