方法太多,一般可以在双击或者单击事件里处理,当然也可以在RowDataBound处理,不过这样你就需要在删除按钮里绑定对应的命令及主键ID等,但这也是常用方法之一。基本常见就这两种,当然还有通过对它进行遍历得到所有选中的行,然后再删除。
先设创建变量获取选中行(datagridview的CellClick/CellDoubleClick事件)的值(pk)
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
int Column_Index = dataGridView1.CurrentCellAddress.Y;
int Row_Index = dataGridView1.CurrentCellAddress.X;
string a = dataGridView1[0, Column_Index].Value.ToString();
}
再用command对象删除a对应的DB的某一行的数据
设置DataGridView的DataKeyName属性为记录的id,然后删除的时候先获取当前行的DataKeyValue再去数据库里删除对应的记录