WinFrom 公共控件 Listview 的使用

Listview绑定数据库数据展示与操作使用 

1.拖一个Listview控件到项目中先将视图改为Details

2.编辑列 设置列头  添加columnHeader成员 Text 是显示的名称 

3.添加行数据 ,连接数据库 代码如下

 1        listView1.Items.Clear(); //绑定数据之前清空一下listView中的数据
 2             List<Users> list = new UsresData().select();// 将数据库中的数据取出来
 3             //将数据放入listView中去
 4             int a = 1;//行号
 5             foreach (Users u in list)
 6             {
 7                 ListViewItem li = new ListViewItem();
 8                 li.Text = a.ToString();// 第一列的行数据数据添加到li.text中去 添加行号
 9                 li.SubItems.Add(u.UserName); //之后行数据都放在SubItems集合中去
10                 li.SubItems.Add(u.PassWord);
11                 li.SubItems.Add(u.NickName);
12                 li.SubItems.Add(u.Sexstr);
13                 li.SubItems.Add(u.Birthdaystr);
14                 li.SubItems.Add(u.NationName);
15                 li.SubItems.Add(u.Areaname);
16                 a++;
17                 listView1.Items.Add(li);//添加到listView Items 集合中去
18             }       

4.选中行数据进行删除与修改操作

CheckBoxes属性为True时,可以按照复选框来选择整行数据选中的数据存放在ListView1.CheckedItems 
删除操作

 1 int decount = 0;//定义一个删除数据的总条数
 2             int count = 0;//定义一个已经删除的数据条数
 3             string notdel = "";//定义一个未删除成功的数据的主键值
 4             if (listView1.CheckedItems.Count <= 0)//未选择
 5             {
 6                 MessageBox.Show("请选择要删除的数据!");
 7             }
 8             else//选择数据
 9             {
10                 decount = listView1.CheckedItems.Count; //删除的总条数
11 
12                 foreach (ListViewItem li in listView1.CheckedItems)//遍历选中的数据
13                 {
14                    DialogResult d= MessageBox.Show("确定要删除吗?","警告!!!",MessageBoxButtons.OKCancel);//弹框提示
15                    if (d == DialogResult.OK)
16                    {
17                        bool ok = new UsresData().delete(li.SubItems[1].Text);
18                        if (ok)//如果删除成功
19                        {
20                            count++;
21                        }
22                        else //删除不成功记录每删除的数据的主键值
23                        {
24                            notdel += li.SubItems[1].Text;
25                        }
26                    }                  
27                 }
28                 Usersbind();//listview数据读取的方法
29                 if (decount == count) 
30                 {
31                     MessageBox.Show("删除成功!");
32                 }
33                 else 
34                 {
35                     MessageBox.Show("要删除"+decount+"条数据,未删除" + (decount -count) + "条数据,未删除用户名是:" + notdel + "");
37                 }
38             }

修改操作 只能选择一条数据进行修改

 1 if (listView1.CheckedItems.Count <= 0)//没有选择数据
 2             {
 3                 MessageBox.Show("请选择要修改的数据!");
 4             }
 5             else if (listView1.CheckedItems.Count == 1) // 选择一条数据
 6             {
 7                 foreach (ListViewItem li in listView1.CheckedItems) 
 8                 {
 9                     Form4 f4 = new Form4(this,li);// 将数据传到修改数据的窗体中去
10                     f4.Owner = this;
11                     f4.Show();
12                 }
13             }
14             else //选择多条数据时提示
15             {
16                 MessageBox.Show("只能选择一条数据进行修改!");
17             }
原文地址:https://www.cnblogs.com/fuze/p/6183342.html