c#中在datagridview的表格动态增加一个按钮方法

本文介绍了如何在C#中为DataGridView动态添加修改和删除按钮,并实现不同按钮的事件处理。首先在Load事件中创建两个DataGridViewButtonColumn,分别用于修改和删除操作。然后在dataGridView1_CellContentClick事件中,通过判断按钮名称来执行不同的功能,展示了一个简单的数据操作示例。不过,目前存在一个问题,即当第三行没有数据时,按钮未隐藏,作者欢迎读者提出解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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就是第三行没数据需要隐藏,现在还没有解决,欢迎大家指出!

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

园游会永不打烊.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值