C# WinForm中DataGridView的修改删除功能

这里是自己做的修改和删除,点击修改时弹出修改窗体,点击删除时弹出"确认删除"的对话框.这里主要是说明,如何在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即可得到值.详细的不多写......


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/renyouprince/archive/2009/04/29/4136738.aspx

posted on   秋天  阅读(16034)  评论(2编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2009年6月 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4
5 6 7 8 9 10 11
点击右上角即可分享
微信分享提示