1. 程式人生 > >如何刪除DataGridView表格中的選中的當前行

如何刪除DataGridView表格中的選中的當前行

 方法:採用以下語句:

dataGridView1.Rows.Remove(dataGridView1.CurrentRow);

 注意:該語句僅僅是刪除表中的記錄,並沒有涉及到資料庫中的。因此當你重新整理再次載入時候,它還是存在的。

要徹底刪除該資料,應該還要呼叫delete的SQL語句,進行刪除;

最後,在重新載入以下這個DataGridView資料表,這樣就達到了實時刪除的效果了。

例如:

  private void button2_Click(object sender, EventArgs e)//刪除
        {
            if (MessageBox.Show("您確定要刪除該圖書資訊嗎?", "資訊提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)

            {
                try
                {
                    SqlClass sqlbook = new SqlClass();
                    sqlbook.sqlConnection.Open();
                    int a = -1;
                    //編寫按ISBN號刪除圖書資訊的SQL語句
                    string sql = "delete from bookinfo where id='{0}'";  //真正刪除
                    //格式化刪除圖書資訊的SQL語句
                    sql = string.Format(sql, dataGridView1.SelectedRows[0].Cells[0].Value.ToString());
                    //通過row.Cells[index].Value
                    //建立資料庫操作類的物件
                    SqlCommand cmd = new SqlCommand(sql, sqlbook.sqlConnection);
                    a = cmd.ExecuteNonQuery();//執行命令
                    if (a == 1)
                    {
                        MessageBox.Show("刪除圖書資訊成功!");
                        //重新整理dataGridView表(自己實現,就是重新查詢顯示資料表)重寫函式
                        //this.InitDataGridView();
                        dataGridView1.Rows.Remove(dataGridView1.CurrentRow);   //表格記錄刪除
                    }
                    else
                    {
                        MessageBox.Show("刪除圖書資訊失敗!");
                    }
                }
                catch
                {
                    MessageBox.Show("請重新選擇", "資訊提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
           
        }