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);

         }
     }

 

 
posted @ 2024-10-16 08:39  skystrivegao  阅读(0)  评论(0编辑  收藏  举报