listView多行刪除的操作,從數據庫中的刪除。
private void buttonDelete_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("確定要刪除所選記錄? ", "Photonsoft", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (dr == DialogResult.OK)
{
try
{
dbcon.OpenConn(); //打開Oracle連接。
string id = ""; //此處的id是我的記錄在數據庫中的ID (唯一識別號) 。
foreach (ListViewItem item in listView1.SelectedItems) //遍歷以選中的記錄。
{
for (int i = 0; i < listView1.SelectedItems.Count; i++) 在以選中的記錄中遍歷獲取每個記錄的id並刪除之。
{
if (this.listView1.SelectedItems[i].Selected) //如果第i行被選中的話,取得該選中行的索引號
{
id = ds.Tables["notes"].Rows[this.listView1.SelectedIndices[i]][0].ToString(); //獲取選中的第i條記錄在數據庫中的id號。
string sql = string.Format("delete from notes where id='{0}'",id); //刪除語句。
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.ExecuteNonQuery(); //執行刪除。
cmd.Dispose();
}
}
}
listView1.Refresh(); //刪除結束後刷新listView。
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
dbcon.CloseConn(); //關閉Oracle連接。
}
}
else
{
return;
}
}
二、如果僅是從listView控件上刪除而不是從數據庫中刪除,則此操作要簡單的多。直接按如下操作即可:
foreach (ListViewItem item in this.listView1.SelectedItems)
{
if(item.Selected)
{
item.Remove();
}
}