c#中在datagridview的表格动态增加一个按钮方法,如果想要这一套教程的可以移步去这里
《期末作业C#实现学生宿舍管理系统》,对了最近我们有一个人工智能交流群,如果大家对代码有问题,想交流的可以进群,私聊我就可以了!
效果图片 :
第一步:
在Load事件中写入代码
//在datagridview中添加button按钮
DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
btn.Name = "Modify";
btn.HeaderText = "操作";
btn.DefaultCellStyle.NullValue = "修改";
dataGridView1.Columns.Add(btn);
//在datagridview中添加button按钮
DataGridViewButtonColumn btn2 = new DataGridViewButtonColumn();
btn2.Name = "del";
btn2.HeaderText = " ";
btn2.DefaultCellStyle.NullValue = "删除";
dataGridView1.Columns.Add(btn2);
第二步:
那ui有了功能怎么办呢?
别急
我们在 dataGridView1_CellContentClick事件中添加方法
//点击第一行button按钮事件
int index = dataGridView1.SelectedCells[0].RowIndex;
//获取所在行
var aa = dataGridView1.Rows[index].Cells[0].Value;
MessageBox.Show(aa.ToString());
//new Form5(aa.ToString()).Show();
这样的话 我们就可以点击对应行的修改来获取到id的值
第三步:
相信大家也发现了,我们的按钮都能触发,那这样肯定不能区分删除和修改,于是我们给控件命名的作用就来了
我们在 dataGridView1_CellContentClick事件中修改下刚刚的代码:
if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Modify")
{
//点击第一行button按钮事件
int index = dataGridView1.SelectedCells[0].RowIndex;
//获取所在行
var aa = dataGridView1.Rows[index].Cells[0].Value;
MessageBox.Show(aa.ToString());
// new Form5(aa.ToString()).Show();
}
else if(this.dataGridView1.Columns[e.ColumnIndex].Name == "del"){
MessageBox.Show("del");
}
好了今天内容就到这里!!
这里有一个bug就是第三行没数据需要隐藏,现在还没有解决,欢迎大家指出!