C#-查询数据新增一列删除按钮
实现:
给查询出来的数据添加一列"删除按钮(delete Button)"
查询接口新增deleteButton:
// 创建一个按钮列 DataGridViewButtonColumn btnColumn = new DataGridViewButtonColumn(); btnColumn.Name = "deleteButton"; btnColumn.Text = "删除"; btnColumn.UseColumnTextForButtonValue = true; // 将按钮列添加到DataGridView中 dataGridView1.Columns.Add(btnColumn); // 为CellClick事件添加事件处理程序 dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick);
dataGridView1_CellClick监听事件:
// 实现点击事件的事件处理程序 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { // 确保点击的是删除按钮列 if (e.ColumnIndex == dataGridView1.Columns["deleteButton"].Index && e.RowIndex >= 0) { try { LogHelper.savelogs("=================删除开始================", "Form1"); executePostgre.deleteMrl(this.dataGridView1.SelectedRows[0].Cells["sysid"].Value.ToString(), "Form1"); showdataGridView(""); } catch (Exception ex) { LogHelper.savelogs("删除报错:" + ex.ToString(), "Form1"); } finally { LogHelper.savelogs("=================删除结束================", "Form1"); } // 执行删除操作,这里只是打印出行号,实际应用中需要删除对应行 int rowIndex = e.RowIndex; Console.WriteLine("删除行:" + rowIndex.ToString()); // 可以在这里添加删除行的代码,例如: } }
deleteMrl实现逻辑删除:
internal void deleteMrl(string sysid, string logname) { try { string sql = $"update test_materiel set is_delete=1 where sysid='{sysid}' "; sqp.updateBySql(sql, logname); LogHelper.savelogs("{sql}:" + "[ExecutePostgreSql]——deleteMrl:" + sql, logname); } catch (Exception ex) { LogHelper.savelogs("{sqlMessage}:" + "[ExecutePostgreSql]——deleteMrl:" + ex, logname); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律