![](/img/trans.png)
[英]How to prevent datagridview from firing UserDeletingRow-event for every selected row?
[英]Row disappears from gridview after calling the UserDeletingRow event and answering NO if I want to delete it
我在WinForm應用程序上有一個簡單的DataGridView,我在gridview上使用UserDeletingRow事件。 當我突出顯示要刪除的行時,它當然會提示我是否要真正刪除該行,但如果我回答“否”,則該行將從網格中消失。 它不會從數據庫中刪除,但它會從網格中消失。 如果我退出這個表格,然后再回來,那行又回來了! 它為什么首先消失?
代碼當然是:if(result == DialogResult.Yes)然后我執行我的DELETE語句。 該部分適用於擺脫數據庫中的行。 但我回答不是!
private void DataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
if (dataGridView1.CurrentRow.Cells["ID"].Value != DBNull.Value)
{
DialogResult result = MessageBox.Show("Are you sure you want to delete speaker -- " + dataGridView1.CurrentRow.Cells["FIRSTNAME"].Value + " " + dataGridView1.CurrentRow.Cells["LASTNAME"].Value + "?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
using (SQLiteCommand cmd = Business.Business.GetSqliteCommand())
{
string sql = "DELETE FROM Speakers WHERE ID = " + "'" + dataGridView1.CurrentRow.Cells["ID"].Value + "'";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
Main_Reload(null, null);
}
}
}
如果我選擇NO,我期待網格不做任何事情!
在IF塊中添加else語句
else
{
e.Cancel = true;
Main_Reload(null, null);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.