C# WinForm的listView多行删除操作
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();
}
}
摘自 白云飘飘
补充:软件开发 , C# ,