C# winform DataGridView 常用事件与代码操作

DataGridView 事件

1、内容被修改(选择类、下拉菜单类)

CellValueChanged // 初始化和内容提交后(失去焦点后)触发事件
CurrentCellDirtyStateChanged // 内容被修改后,触发事件(立即)

 // 失去焦点后 才会被触发
 private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
 {
     // 初始化时也会被调用
     MessageBox.Show(e.RowIndex.ToString());
 }

 // 当前单元格 内容变换
 private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
 {
     // 当前单元格 是否有未提交的更改
     if (dataGridView1.IsCurrentCellDirty)
     {
         // 提交单元格修改 至 单元格 内容被修改
         dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
     }
 }
2、点击单元格(按钮类、连接类)

CellContentClick // 单元格被点击后触发

 // 点击单元格
 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex == -1) return;

     DataGridViewCell cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];

     if (cell.FormattedValue.ToString() == "删除")
     { 
         System.Diagnostics.Debug.WriteLine("删除"); 
     }
     else if (cell.FormattedValue.ToString() == "修改")
     { 
         System.Diagnostics.Debug.WriteLine("修改"); 
     }
 }

代码添加列和行

 private void Form1_Load(object sender, EventArgs e)
 {
     // 代码添加列
     DataGridViewCheckBoxColumn  dgcColum1 = new DataGridViewCheckBoxColumn();
     dgcColum1.Name = "columnSelect";
     dgcColum1.HeaderText = "选择";
     dgvUser.Columns.Add(dgcColum1);

     DataGridViewTextBoxColumn dgcColum2 = new DataGridViewTextBoxColumn();
     dgcColum2.Name = "columnID";
     dgcColum2.HeaderText = "编号";
     dgvUser.Columns.Add(dgcColum2);

     DataGridViewTextBoxColumn dgcColum3 = new DataGridViewTextBoxColumn();
     dgcColum3.Name = "columnName";
     dgcColum3.HeaderText = "姓名";
     dgvUser.Columns.Add(dgcColum3);

     DataGridViewLinkColumn dgcColum4 = new DataGridViewLinkColumn();
     dgcColum4.Name = "columnDelete";
     dgcColum4.HeaderText = "删除";
     dgvUser.Columns.Add(dgcColum4);

     // 添加数据 行
     DataGridViewRow dr = new DataGridViewRow();
     DataGridViewCell cell1 = new DataGridViewCheckBoxCell();
     cell1.Value = false;
     DataGridViewCell cell2 = new DataGridViewTextBoxCell();
     cell2.Value = 1;
     DataGridViewCell cell3 = new DataGridViewTextBoxCell();
     cell3.Value = "admin";
     DataGridViewCell cell4 = new DataGridViewLinkCell();
     cell4.Value = "删除";

     dr.Cells.Add(cell1);
     dr.Cells.Add(cell2);
     dr.Cells.Add(cell3);
     dr.Cells.Add(cell4);

     dgvUser.Rows.Add(dr);
 }

在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

廷益--飞鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值