公共控件Listview
ListView属性中,Items是行的总集合,Items集合中的每一个是一行,Items集合里面有ListViewItem集合,这个集合实例化:ListViewItem li=new ListViewItem(); li.text是第一行的第一列,SubItems集合是li里面的集合,li.SubItems子集是每一行的、除了第一列的其他列。
1、视图
(1)点击图像上面的“小三角”,将视图设置为Details。--外观-view可更改。
(2)表列:点击“设置列”,“添加(A)”,出现columnHeader1.....这是表的列,设置Text,此为列名。------属性里面的行为-Colums
(3)表行:点击上面“数据”的“Users”结合,点击"添加",添加的项为表的剩余的列。--属性里面的行为-Items
(4)数据库连接:
以以前Users表为例,建立App_Code文件夹,添加实体Student类和数据访问类UsersData。
数据访问类建立查询Student表的全部信息的方法:Pulic list<Users> list select(){代码}
在form1的表的Button设置点击事件:第一:先将全部数据取出来 List<Users> list=new UsersData().Select();
第二:将数据导入到ListView中去。
foreach (Users a in u)
{
ListViewItem li = new ListViewItem();
li.Text = a.UserName;
li.SubItems.Add(a.Password);
li.SubItems.Add(a.NickName);
li.SubItems.Add(a.Sex?"男":"女");
li.SubItems.Add(a.Birthday.ToString("yyyy年MM月dd日"));
li.SubItems.Add(a.Nation);
listView1.Items.Add(li); }
详细总代码如下:
//实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace WindowsFormsApplication33.App_Code
{
public class Users
{
private string _UserName;
public string UserName
{
get { return _UserName; }
set { _UserName = value; } }
private string _Password;
public string Password
{
get { return _Password; }
set { _Password = value; }
}
private string _NickName;
public string NickName
{
get { return _NickName; }
set { _NickName = value; }
}
private bool _Sex;
public bool Sex
{
get { return _Sex; }
set { _Sex = value; } }
private DateTime _Birthday;
public DateTime Birthday
{
get { return _Birthday; }
set { _Birthday = value; }
}
private string _Nation;
public string Nation
{
get { return _Nation; }
set { _Nation = value; }
} }
}
//数据访问类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient; namespace WindowsFormsApplication33.App_Code
{
public class UserData
{ SqlConnection cnn = null;
SqlCommand cmd = null;
public UserData()
{
cnn = new SqlConnection("server=.;database=ren;user=sa;pwd=123");
cmd = cnn.CreateCommand();
}
public List<Users> select()//查询全部信息,返回集合
{
List<Users> u = new List<Users>();
cmd.CommandText = "select * from Users";
cnn.Open();
SqlDataReader ss = cmd.ExecuteReader();
if (ss.HasRows)
{ while (ss.Read())
{
Users a = new Users();
a.UserName = ss[].ToString();
a.Password = ss[].ToString();
a.NickName = ss[].ToString();
a.Sex = Convert.ToBoolean(ss[]);
a.Birthday = Convert.ToDateTime(ss[]);
a.Nation = ss[].ToString();
u.Add(a);
} } cnn.Close(); return u;
} }
}
//点击事件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WindowsFormsApplication33.App_Code; namespace WindowsFormsApplication33
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
List<Users> u = new UserData().select();//获得集合 foreach (Users a in u)
{
ListViewItem li = new ListViewItem();
li.Text = a.UserName;
li.SubItems.Add(a.Password);
li.SubItems.Add(a.NickName);
li.SubItems.Add(a.Sex?"男":"女");
li.SubItems.Add(a.Birthday.ToString("yyyy年MM月dd日"));
li.SubItems.Add(a.Nation);
listView1.Items.Add(li); } } private void Form1_Load(object sender, EventArgs e)
{ }
}
}
2、问题:怎么才能打开窗体,自动在窗体中显示数据库的内容
办法:数据查询显示代码的方法写在窗体的构造函数中。
3、怎么给用户展示最终数据
办法:数据库的属性扩展。
4、在窗体中怎么显示行号
办法:在函数外int i=1;在函数内循环时设置第一列的i++;
5、选中一行数据
如何将选中的数据取出来
一个是FullRowSelect属性为True可以选择整行数据
ListView1.SelectedItems
foreach (ListViewItem li in listView1.SelectedItems)
{
if (li.Selected)
{
MessageBox.Show(li.SubItems[].Text);
} }
另一个是CheckBoxes属性为True时,可以按照复选框来选择整行数据
ListView1.CheckedItems
foreach (ListViewItem li in listView1.SelectedItems)
{
if (li.Checked)
{
MessageBox.Show(li.SubItems[].Text);
} }
完!
公共控件Listview的更多相关文章
- WinFrom 公共控件 Listview 的使用
Listview绑定数据库数据展示与操作使用 1.拖一个Listview控件到项目中先将视图改为Details 2.编辑列 设置列头 添加columnHeader成员 Text 是显示的名称 3. ...
- winform 公共控件 ListView
//数据显示,刷新 public void F5() { listView1.Items.Clear(); List<Students> Stu = new StudentsData(). ...
- WinForm 公共控件
一.窗体属性: 1.AcceptButton - 窗体的“接受”按钮.如果设置该属性,每次用户按“Enter”键都相当于“单击”了该按钮. 需要设置哪个键,就在后面选择. 2.CancelButton ...
- WinForm公共控件
公共控件:1.Button:按钮 用户点击时触发事件 行为属性 Enabled -是否启用 Visible -是否隐藏2.CheckBox .CheckListBox - 复选框 复选框组 3.Com ...
- winform(公共控件)
一.客户端设计思路 1.理顺设计思路,架构框架 2.设计界面 3.编写后台代码 4.数据库访问 二.公共控件 1.Button(按钮): ⑴ Enabled :确定是否启用控件 ⑵ Visible:确 ...
- 12-22C#公共控件(基本功能)
在C#窗体中,公共控件的基本功能: 1.获取.设置控件的参数值: 2.事件(其实是一种特殊的方法和属性,当被其他外力触发它,就会发生,类似数据库的触发器.) 下面是基本的公共控件: 1.复选框 1)设 ...
- (1)C#工具箱-公共控件1
公共控件 InitializeComponent() 先说下InitializeComponent()这个方法,它在form1.cs里调用这个方法对控件进行初始化,控件的方法要在这个方法之后,否则会因 ...
- [Android Pro] android控件ListView顶部或者底部也显示分割线
reference to : http://blog.csdn.net/lovexieyuan520/article/details/50846569 在默认的Android控件ListView在 ...
- WinForm 窗体基本属性、公共控件
一.WinForm:客户端程序制作 - C/S (B/S:服务器端) 它是基于.NET Framework框架上运行,不是必须在windows系统上才能运行---------------------- ...
随机推荐
- zjuoj 3609 Modular Inverse
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3609 Modular Inverse Time Limit: 2 Seco ...
- [摘录]quarts:feature
Features of Quartz Runtime Environments Quartz can run embedded within another free standing applica ...
- JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...
- js 获取select 中option 的个数
//document.writeln(document.getElementById("sel").options.length); //document.writeln(docu ...
- 夺命雷公狗ThinkPHP项目之----企业网站24之网站前台列表页面包屑导航的显示
我们做面包屑导航的原理其实也是很简单的,我们的思路是: 首先找到该分类的id ,我们可以通过大 I来进行获取得到: 然后通过 大 D 方法让数据进入model层里面进行循环迭代查询, 当然,测试时候发 ...
- 夺命雷公狗---DEDECMS----9dedecms单标签
我们这一节课开始将dedecms的标签了,dedecms里面的标签分好多个的,我们先来看下他的标签长得啥样的先: 随便点击一个修改即可见到标签了: 这里面上面的大文本框里面有标签的用法下面有参数的说明 ...
- emulator-arm.exe 已停止工作、 emulator-x86 已停止工作
问题描述: emulator-arm.exe 已停止工作. emulator-x86 已停止工作.AVD模拟器启动一直黑屏.AVD模拟器启动一直显示andorid界面 解决方法: 1. sdk的安 ...
- centos的网路配置文件的位置
在这个路径下:/etc/sysconfig/network-scripts/ 每个网卡有相应的配置文件
- 4项技巧使你不再为PHP中文编码苦恼
PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII 码,中国的 GB2312-80,日本的 JI ...
- 《Focus On 3D Terrain Programming》中一段代码的注释二
取自<Focus On 3D Terrain Programming>中的一段: bool CTERRAIN::MakeTerrainFault( int iSize, int iIter ...