热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WinFrom公共控件Listview的使用

Listview绑定数据库数据展示与操作使用1.拖一个Listview控件到项目中先将视图改为Details2.编辑列设置列头添加columnHeader成员Text是显示的名

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

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

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

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

 1        listView1.Items.Clear(); //绑定数据之前清空一下listView中的数据
 2             List 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             }

 


推荐阅读
  • 本文介绍了在实现了System.Collections.Generic.IDictionary接口的泛型字典类中如何使用foreach循环来枚举字典中的键值对。同时还讨论了非泛型字典类和泛型字典类在foreach循环中使用的不同类型,以及使用KeyValuePair类型在foreach循环中枚举泛型字典类的优势。阅读本文可以帮助您更好地理解泛型字典类的使用和性能优化。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了如何使用OpenXML按页码访问文档内容,以及在处理分页符和XML元素时的一些挑战。同时,还讨论了基于页面的引用框架的局限性和超越基于页面的引用框架的方法。最后,给出了一个使用C#的示例代码来按页码访问OpenXML内容的方法。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 可空类型可空类型主要用于参数类型声明和函数返回值声明。主要的两种形式如下: ... [详细]
  • ListBox.SelectedItem.Value可以获取当前被选中的一个值.但如果ListBox同时有多个值被选中应该如何获取这些值呢? ... [详细]
  • 本篇文章笔者在上海吃饭的时候突然想到的这段时间就有想写几篇关于返回系统的笔记,所以回家到之后就奋笔疾书的写出来发布了事先在网上找了很多方法,发现有 ... [详细]
  • 浅谈Java8 的foreach跳出循环break/return_java
    这篇文章主要介绍了Java8的foreach跳出循环breakreturn,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完 ... [详细]
  • vlfilecopy(findfile(vllist>string(10811110311146103105102)))(vll的简单介绍
    本文目录一览:1、一段lisp代码求解释2、运 ... [详细]
  • C#DataGridView控件中数据导出到Excel方法一:usingSystem;usingSystem.Collections.Generic;usingSys ... [详细]
  • 点击后defaultEducation的值明明改变了,但props传给子组件却watch不到 ... [详细]
author-avatar
手机用户2502910165
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有