WinForm的listView多行删除操作

来源:互联网 发布:淘宝联盟推广赚钱技巧 编辑:程序博客网 时间:2024/06/11 18:40
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 (唯一识别号) 。
      
                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)

{

     item.Remove();

 }

}