这里是自己做的修改和删除,点击修改时弹出修改窗体,点击删除时弹出"确认删除"的对话框.这里主要是说明,如何在DataGridView中获取到单击的相应按钮.WinForm中的DataGridView不像web下的GridView控件,可以直接给加入的修改,删除LinkButton添加事件,从而对行处理.
在WinForm中,必须要获取到单击的是哪类按钮,才能对相应的按钮作相应的处理.
首先,在DataGridView(dgvTest)中加入两个DataGridViewLinkColumn类型的列,其Name分别设置为update和delete,Text分别为修改,删除.把两列的UseColumnTextForLinkValue设为true,意为设置列的文本.
然后在DataGridView的Cell_Click中添加获取单击相应控件的代码,并进行相应的事件处理,代码参考如下:
private void dgvUsers_CellClick(object sender, DataGridViewCellEventArgs e)
{
string action = dgvUsers.Columns[e.ColumnIndex].Name;//操作类型
switch (action)
{
case "update":
//获取相应列的数据ID,弹出加载了该ID数据详细信息的Form,用以修改
break;
case "Delete":
if (MessageBox.Show("确定删除吗?", "删除提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
//获取相应列的数据ID,删除此数据记录
}
break;
default:
break;
}
}
主要是通过加入列的Name来识别所点击的项.获取所单击行的各个Cell信息和值,参数e中有RowIndex和ColumnIndex.再通过DataGridView的Rows,Columns,Cells即可得到值。