当前位置:编程学习 > C#/ASP.NET >>

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# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,