winform 公共控件 ListView
//数据显示,刷新
public void F5()
{
listView1.Items.Clear();
List<Students> Stu = new StudentsData().SeletAll(F1.textBox1.Text);
foreach (Students s in Stu)
{
ListViewItem li = new ListViewItem();
li.Text = s.Ids.ToString();
li.SubItems.Add(s.Code);
li.SubItems.Add(s.Name);
li.SubItems.Add(s.Sexdd);
li.SubItems.Add(s.Age.ToString());
li.SubItems.Add(s.Birthday.ToString("yyyy年MM月dd日"));
li.SubItems.Add(s.Nationna);
li.SubItems.Add(s.ClassNa);
li.SubItems.Add(s.Score.ToString());
listView1.Items.Add(li);
} }
ListView控件是一个winform自带的表格型的应用数据展示控件
好处:是功能比较完善,不需要再自己设置
缺点:不好的地方就是不能设置控件中单元格的大小,字体变大之后超出部分就会隐藏,不能直接输入内容,
要将表中的数据展示出来,需要做到以下几步:
1.先设置好ListView的列名,确定好要展示的的数据有几列
(1)如何设置列名:
点击行为属性Columns,可以设置要设置的列名(text),可以设置很多属性,基本和其他控件一致,如图:

2.查询要展示的表的内容,把这个写成一个方法,方便别的Form调用
//查询所有学生信息
public List<Students> SeletAll(string a)
{
List<Students> Stu = new List<Students>();
cmd.CommandText = "select *from Students where Adm=@a order by Ids asc";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a", a);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
Students s = new Students();
s.Ids = Convert.ToInt32(dr["Ids"]);
s.Code = dr["Code"].ToString();
s.Name = dr["Name"].ToString();
s.Sex = Convert.ToBoolean(dr["Sex"]);
s.Nation = dr["Nation"].ToString();
s.Birthday = Convert.ToDateTime(dr["Birthday"]);
s.Class = dr["Class"].ToString();
s.Score = Convert.ToInt32(dr["Score"]);
Stu.Add(s);
}
}
conn.Close();
return Stu;
}
3.将数据关联起来
这个写成了一个方法,方便在每次重载时调用,并能保证数据传递后调用刷新的方法
//数据显示,刷新
public void F5()
{
listView1.Items.Clear();
List<Students> Stu = new StudentsData().SeletAll(F1.textBox1.Text);
foreach (Students s in Stu)
{
ListViewItem li = new ListViewItem();
li.Text = s.Ids.ToString();
li.SubItems.Add(s.Code);
li.SubItems.Add(s.Name);
li.SubItems.Add(s.Sexdd);
li.SubItems.Add(s.Age.ToString());
li.SubItems.Add(s.Birthday.ToString("yyyy年MM月dd日"));
li.SubItems.Add(s.Nationna);
li.SubItems.Add(s.ClassNa);
li.SubItems.Add(s.Score.ToString());
listView1.Items.Add(li);
} }
4.获取选中数据的各种操作
(1)一次删除多个信息
if (listView1.CheckedItems.Count <= )
{
MessageBox.Show("请先选中学生信息!");
}
else
{
int count = ;
int Nxx = listView1.CheckedItems.Count;
List<int> Lt = new List<int>();
foreach (ListViewItem li in listView1.CheckedItems)
{
Lt.Add(Convert.ToInt32(li.Text));
}
for (int cxx = ; cxx < Nxx; cxx++)
{
if (new StudentsData().Delete(Lt[cxx], F1.textBox1.Text))
{
count++;
}
}
F5();
MessageBox.Show("学生信息删除成功,本次共删除" + count + "名学生.");
}
winform 公共控件 ListView的更多相关文章
- WinForm 公共控件
一.窗体属性: 1.AcceptButton - 窗体的“接受”按钮.如果设置该属性,每次用户按“Enter”键都相当于“单击”了该按钮. 需要设置哪个键,就在后面选择. 2.CancelButton ...
- WinForm公共控件
公共控件:1.Button:按钮 用户点击时触发事件 行为属性 Enabled -是否启用 Visible -是否隐藏2.CheckBox .CheckListBox - 复选框 复选框组 3.Com ...
- 【2017-04-25】winform公共控件、菜单和工具栏、Tab和无边框窗体制作
一.公共控件 1. Button 按钮 + 布局 - AutoSize 按钮尺寸自动适应里面内容的长度 - Location 位置 - Margin 控件与控件外边距 - S ...
- 【2017-04-25】winform公共控件、菜单和工具栏
一.公共控件 公共控件很多的属性很多都相似,这些是大部分都相同的: +布局 - AutoSize:自动适应控件上文字内容- Location:位置- Margin:控件间的间距- Size:控件大小 ...
- WinFrom 公共控件 Listview 的使用
Listview绑定数据库数据展示与操作使用 1.拖一个Listview控件到项目中先将视图改为Details 2.编辑列 设置列头 添加columnHeader成员 Text 是显示的名称 3. ...
- 公共控件Listview
ListView属性中,Items是行的总集合,Items集合中的每一个是一行,Items集合里面有ListViewItem集合,这个集合实例化:ListViewItem li=new ListVie ...
- winform 之控件ListView
使用ListView构建表格展示数据 1.添加列数据:控件ListView--上方按钮--视图(Details)--编辑列--添加 2.添加行数据:--编辑项(行)--添加 添加数据:Text:默认添 ...
- WinForm 公共控件和属性
Button 按钮 布局 AutoSize 内容超出部分是否扩展到适应尺寸大小 Location 位置坐标 Size 控件大小 行为 Enabled 控件是否启用 visible 控件 ...
- WinForm 窗体基本属性、公共控件
一.WinForm:客户端程序制作 - C/S (B/S:服务器端) 它是基于.NET Framework框架上运行,不是必须在windows系统上才能运行---------------------- ...
随机推荐
- 小米刷机教程和GAE for android
小米上的刷机教程:http://www.miui.com/getrom.php?r=2gae for android :https://github.com/madeye/gaeproxy/wiki
- IntelliJ IDEA配置tomcat【全程详解】
相关博客:IntelliJ IDEA创建Maven+SSM+Tomcat+Git项目[全程详解] 创建好web项目后,需要将项目部署到Tomcat中运行. 接下来,图文解析IntelliJ IDEA如 ...
- Spring mvc服务端消息推送(SSE技术)
SSE技术是基于单工通信模式,只是单纯的客户端向服务端发送请求,服务端不会主动发送给客户端.服务端采取的策略是抓住这个请求不放,等数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求 ...
- cmd命令之查看进程到杀掉进程
1. cmd命令查看当前进程 netstat -ano | findstr “port”
- OpenCV教程【002 VideoCapture加载并播放视频】
#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace c ...
- 织梦dedecms如何批量替换文章内容和缩略图
文章来自:http://blog.sina.com.cn/s/blog_475ea1130101co6w.html 第一种方法: 进入后台,点左侧的采集,点选批量维护的数据库内容替换. 1.替换标题内 ...
- linkedLoop
public class linkQueue <E>{ private class Node<E>{ E e; Node<E> next; public Node( ...
- 学习动态性能表(17)--v$segstat&v$segment_statistics
学习动态性能表 第17篇-(1)-V$SEGSTAT 2007.6.13 本视图实时监控段级(segment-level)统计项,支持oracle9ir2及更高版本 V$SEGSTAT中的常用列 T ...
- git之cherry-pick
当想把当前分支提交的代码,也在其他分支提交,那可以用cherry-pick命令. 1 假设在master分支commit的id为:abc12345; 2 切换到其他分支,如develop分支; 3 在 ...
- Day2-Python基础2---字符串操作
一.字符串操作 特性:不可修改 name = "my \tname is {name} and i am {year} old" #首字母大写.capitalize print(n ...