C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改
在展示数据库中不知道数量的数据时怎么展示最好呢?——表格
ListView - 表格形式展示数据
ListView 常用属性
HeaderStyle - “详细信息”视图中列标头的样式。
None - 不显示列标头
Nonclickable - 不可点击
Clickable - 可点击
HideSelection - 当控件没有焦点时,移除选定项的突出显示。
MultiSelect - 允许选择多项 (True/False)。
CheckBoxes - 指示复选框是否显示在项旁边。
FullRowSelect - 指示当项被选中时,其所有子项是否同该项一起突出显示。
GridLines - 在项和子项周围显示网格线。仅在“详细信息”视图中显示。
View - 选择可以显示项的不同视图中的一种。
==========================================================

一、设置表的列头 - Columns集合,添加5个列,设置text,按需要设置TextAlign和Width属性
(第一列TextAlign属性只能是Left,不能居中。如何让第一列居中?数据从第二列开始展示,让第一列宽度为0)

二、设置View属性为 Details(细节),此时即可以显示列名

三、展示数据 - ListView属性中Items集合属性


点击<添加>按钮,添加的是一整行,其中text值为第一列的值。如何添加行中其他数据?打开Items时有一个SubItems集合属性,添加列并设置text值

======================================================
如何将数据库中的数据展示在ListView中?(李献策lxc)
//<刷新>按钮
private void button1_Click(object sender, EventArgs e)
{
List<Users> lu = new List<Users>();
lu = ud.Select();//从数据库中查询数据
//★★★遍历泛型集合前先清除ListView.Items中的数据,以免每次点击刷新时,都会将数据库中数据放入泛型集合中,使泛型集合重复添加元素,越来越大
listView1.Items.Clear();
//★★★
foreach (Users u in lu)//遍历查询出来的数据
{
ListViewItem lv = new ListViewItem();
lv.Text = u.Username;//设置第一行显示的数据
//绑定剩余列的数据
lv.SubItems.Add(u.Password);
lv.SubItems.Add(u.Nickname);
lv.SubItems.Add(u.Sex?"男":"女");
lv.SubItems.Add(u.Birthday.ToLongDateString());
lv.SubItems.Add(u.Nation);
lv.SubItems.Add(u.Class);
//一定记得行数据创建完毕后添加到列表中
listView1.Items.Add(lv);
}
}
刷新按钮

=======================================================
如何对选中的项进行展示?

在上图中,既有选中的行,又有选中的复选框,点击<获取选项>如何把选中的项的用户名和性别展示出来呢?
一、对于选中的行 -
private void button5_Click(object sender, EventArgs e)
{
foreach (ListViewItem lv in listView1.SelectedItems )
{
MessageBox.Show(lv.Text+"\t"+lv.SubItems[].Text); }
}
展示选中的行的信息
二、对于选中的复选框
//<获取选中>按钮
private void button5_Click(object sender, EventArgs e)
{
foreach (ListViewItem lv in listView1.CheckedItems)
{
MessageBox.Show(lv.Text + "\t" + lv.SubItems[].Text); }
}
展示选中的复选框的信息
=============================================================
C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改的更多相关文章
- ebay商品基本属性组合成数据表格式,可用上传到系统递交数据
该刊登表设计是利用VB写的,当时因为两个系统的数据不能直接对接,又copy并且组合SKU,一个表格一个表格填写,比较麻烦,还好刊登系统可以允许用excel表格上传数据 所以就下好模板,学了VB语言,在 ...
- Java使用iBatis批量插入数据到Oracle数据库
Java使用iBatis批量插入数据到Oracle数据库 因为我们的数据跨库(mysql,oracle),单独取数据的话需要遍历好多遍,所以就想着先从mysql数据库中取出来的数据然后在oracle数 ...
- DataTable to Excel(使用NPOI、EPPlus将数据表中的数据读取到excel格式内存中)
/// <summary> /// DataTable to Excel(将数据表中的数据读取到excel格式内存中) /// </summary> /// <param ...
- python打印表格式数据,留出正确的空格和段落星号或注释
python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...
- python打印表格式数据-星号或注释
python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...
- 数据库中取出YYYY-mm-dd H:i:s的数据怎么将其转化成YYYY/mm/dd格式,另外,怎么将一个数据表中的数据插入另一个数据表
sql语句是select left(replace(rq,'-','/'),10) as rq from 表名 tp5.1中的写法 $res = Db::table('表名') ->field ...
- 利用Shell脚本将MySQL表中的数据转化为json格式
脚本如下: #!/bin/bash mysql -s -phello test >.log <<EOF desc t1; EOF lines="concat_ws(',', ...
- 【数据传输 2】批量导入的前奏:将Excel表中的数据转换为DataTable类型
导读:我们知道,在数据库中,数据集DataSet是由多张DataTable表组成.所以,如果我们需要将数据从外部导入到数据库中,那么要做的很重要的一步是将这些数据转换为数据库可以接受的结构.今天在用S ...
- Elasticsearch:如何把Elasticsearch中的数据导出为CSV格式的文件
本教程向您展示如何将数据从Elasticsearch导出到CSV文件. 想象一下,您想要在Excel中打开一些Elasticsearch中的数据,并根据这些数据创建数据透视表. 这只是一个用例,其中将 ...
随机推荐
- SQL存储过程、视图
存储过程: 存储过程(stored procedure)有时也称为sproc.存储过程存储于数据库中而不是在单独的文件中,有输入参数.输出参数以及返回值等. 在数据库中,创建存储过程和创建其他对象的过 ...
- 父元素与子元素之间的margin-top问题
父元素的盒子包含一个子元素盒子,给子元素盒子一个垂直外边距margin-top,父元素盒子也会往下走margin-top的值,而子元素和父元素的边距则没有发生变化. html代码: <div c ...
- Android 下载网络图片保存到本地
通过网络地址获取网络图片,点击下载将图片显示出来,然后点击图片将图片保存到本地. 首先需要在manifest上添加一些权限: <!-- 访问网络的权限 --> <uses-permi ...
- android系统架构解析
以上是我在这个课题下的一些参考博客或者网页链接.里面有对于android架构的一些较好的分析理解,接下来是楼主在阅读后自己的一些整理. Android采用层次化系统架构,官方公布的标准架构如下图所示. ...
- iOS中的存储方式
1.Plist 1.1 了解沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其它文件系统隔离.应用必须呆在自己的沙盒里.其它应用不能访问该沙盒. 一个程序中所有的非代码文件都可以 ...
- npm换源
作者一介布衣:http://yijiebuyi.com/blog/b12eac891cdc5f0dff127ae18dc386d4.html npm 是node.js 环境下的包管理器,非常强大智能. ...
- top状态及其常用技巧
看tcp状态 /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' 在 top 状态下,按 "shif ...
- QT UDP聊天小程序
利用QT的UDP技术,实现两个QT程序之间的聊天程序. #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include < ...
- java:多线程基础之Runnable、Callable与Thread
java.lang包下有二个非常有用的东西:Runnable接口与Thread类,Thread实现了Runnable接口(可以认为Thread是Runnable的子类),利用它们可以实现最基本的多线程 ...
- 数据字典生成工具之旅(6):NVelocity语法介绍及实例
本章开始将会为大家讲解NVelocity的用法,并带领大家实现一个简单的代码生成器. NVelocity是一个基于.NET的模板引擎(template engine).它允许任何人仅仅简单的使用模板语 ...