实现:
给查询出来的数据添加一列"删除按钮(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);}}