一、ListView:列表展示数据

1、视图 -

在其右上方小箭头点击将视图改为Largelcon;或右键属性在外观View将其改为Details

2、设置列头 -

在其右上方小箭头点击选择编辑列,然后添加列名;或右键属性-行为-Columns

3、添加行数据 -

在其右上方小箭头点击选择编辑项,然后将属性Text改名,即第一列,添加成员即其它列;或右键属性-行为-Items

-----------------------------------------------------------------------------

二、连接数据库:

1、建立实体类Student、Subject和数据访问类StudentData、SubjectData

2.调用StudentData类中的Select方法,将全部数据取出来

List list = new StudentData().Select();

3.将数据导入到ListView中去

foreach (Student S inlist)

{

ListViewItem li= newListViewItem();

li.Text=S.Code;

li.SubItems.Add(S.Name);

li.SubItems.Add(S.Sexstr);

li.SubItems.Add(S.Birstr);

li.SubItems.Add(S.SubjectName);

listView1.Items.Add(li);

}

4.窗体加载后自动绑定显示ListView中的数据

办法:数据绑定代码写在窗体的构造函数中

5.给用户展示最终数据(属性扩展)

6.行号

用C#变量循环++来实现

7.数据重复绑定

在绑定之前清空Items集合

listView1.Items.Clear();

8.选中一行数据

外观 - FullRowSelect:选择其中一项是否选中整行

CheckBoxes:复选框

GridLines:网格线

行为 - HideSelection :当控件没有焦点时,是否移除选定项的突出显示

HeaderStyle:列表头的样式

HoverSelection :鼠标悬浮在项上选择项,不好用,需停顿一会,通常与CheckBoxes连用

重点:

1、数据如何绑定上去

2、如何将选中的数据取出来

一个是FullRowSelect属性为True可以选择整行数据(ListView1.SelectedItems)

if (listView1.SelectedItems.Count > 1)//选择了多行

{

MessageBox.Show("修改只允许选择一行");

}else if (listView1.SelectedItems.Count == 1)

{foreach (ListViewItem li inlistView1.SelectedItems)

{if(li.Selected)

{

MessageBox.Show(li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text + li.SubItems[5].Text);

}

}

}

else//未选中

{

MessageBox.Show("请先选中您要修改的数据");

}

另一个是CheckBoxes属性为True时,可以按照复选框来选择整行数据(ListView1.CheckedItems)

foreach (ListViewItem li inlistView1.CheckedItems)

{if(li.Checked)

{

MessageBox.Show(li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text + li.SubItems[5].Text);

}

}

删除代码部分:

删除限制:

1、不能不选

2、多条数据如果有未删除的,提示一下,删除成功几条,未成功几条,未成功是那几条

private void button2_Click(objectsender, EventArgs e)

{int DelCount = 0; //要删除的总条数

int count = 0; //已经删除的条数

string NotDelete = "";if (listView1.CheckedItems.Count <= 0)

{

MessageBox.Show("请先选中您要删除的数据");

}else{

DelCount=listView1.CheckedItems.Count;foreach(ListViewItem li inlistView1.CheckedItems)

{if(li.Checked)

{bool ok = new StudentData().delete(li.SubItems[1].Text);if(ok)

{

count+= 1;

}else{

NotDelete+= li.SubItems[1].Text + ",";

}

}

}

NewMethod();if (count ==DelCount)

{

MessageBox.Show("删除成功");

}else{

MessageBox.Show("删除失败!要删除" + DelCount + "条数据,未删除" + (DelCount - count) + "条数据,未删除的用户名为:" + NotDelete + "");

}

}

}

添加限制:

1.编号不能为空,且编号不能在数据库中查到

2.姓名不能为空;

public partial classForm2 : Form

{

Form1 F1= null;publicForm2(Form1 f1)

{

InitializeComponent();

F1=f1;

List slist = new SubjectData().select();

Usub.DataSource=slist;

Usub.ValueMember= "SubjectCode";

Usub.DisplayMember= "SubjectName";

}bool c = false;//判断编号是否存在

private void textBox1_TextChanged(objectsender, EventArgs e)

{

Student s= new StudentData().select(UCode.Text.Trim());//调用StudentData类的查询方法

if (s == null)

{

code1.Text= "";

c= false;

}else{

code1.Text= "此编号已存在!";

c= true;

}

}bool n = false;//判断姓名是否为空

private void button1_Click(objectsender, EventArgs e)

{if(UCode.Text=="")

{

code1.Text= "编号不能为空!";

c= true;

}if(UName.Text=="")

{

name1.Text="姓名不能为空";

n=false;

}else{

n=true;

name1.Text="";

}

Student S1= newStudent();if(c==false&&n)

{

S1.Code=UCode.Text.Trim();

S1.Name=UName.Text.Trim();

S1.Sex=ra_true.Checked;

S1.Birthday=BIR.Value;

S1.SubjectCode=Usub.SelectedValue.ToString();bool bo= newStudentData().Insert(S1);if(bo)

{

MessageBox.Show("添加成功!");

F1.NewMethod();this.Close();

}else{

MessageBox.Show("添加失败!");

}

}

}

}

添加代码部分

listview连接mysql_winform(ListView及数据库连接)相关推荐

  1. listview连接mysql_ListView 数据库 C

    通过CursorAdapter在ListView中的数据呈现 在Android中可以通过CursorAdapter直接将数据映射到ListView中,如下处理: public class Chapte ...

  2. java 连接池_初探数据库连接池

    参考资料 数据库连接池学习笔记(一):原理介绍+常用连接池介绍 java数据库连接池实现原理 高性能数据库连接池的内幕 1. 为什么要使用连接池 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户 ...

  3. android listview 游标,Android Listview - 使用游标时无法选择多个项目

    我有一个listview填充了使用SimpleCursorAdapter的游标数据.我想这样做,所以我可以选择多个项目,每个项目都有一个复选框,但我只能一次检查一个项目,即每次选择一个项目时,它将清除 ...

  4. mysql 连接池的作用,数据库连接池介绍、主要参数设置、作用

    数据库连接池 dataSource 1.平时用的数据库类型?? dbcp  c3p0 2.连接池需要那些配置?? 初始化连接数量initialSize 最大连接数maxActive 最大空闲连接数ma ...

  5. java listview用法_Java ListView.setMultiChoiceModeListener方法代码示例

    import android.widget.ListView; //导入方法依赖的package包/类 @Override public void onActivityCreated(@Nullabl ...

  6. mysql连接池设计_数据库连接池(基于MySQL数据库)

    使用JDBC是怎么保证数据库客户端和数据库服务端进行连接的? 通过代码: conn=DriverManager.getConnection(url, username, password); JDBC ...

  7. android listview适配器使用,android – 使用适配器在Listview中填充Listview

    我有一个片段.这个片段在他的onCreateView方法上加载的视图有一个ListView(A)(填充在Adapter(A)中).但是,这个ListView(A)里面有另一个ListView(B).所 ...

  8. listview嵌套listview,子listview只显示一个item问题

    背景: 我在做项目的时候准备用listview嵌套一个listview,但是发现,子listview只显示一条数据,于是,一猜又是计算高度出问题了. 处理办法,当然是和scrollview嵌套list ...

  9. ListView详解 (ListView图文混排)

    ListView类 Class Overview A view that shows items in a vertically scrolling list. The items come from ...

最新文章

  1. PHP artisan
  2. dede采集 标题不完整
  3. Java_异常_03_ java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory
  4. 光感是什么_Olay5款热门精华:淡斑小白瓶VS光感小白瓶如何选?超A瓶不太A
  5. [USACO13JAN] Cow Lineup (单调队列,尺取法)
  6. python之字符编码(二)
  7. GOOGLE 分布式系统关键技术论文分析
  8. harmonyos2.0怎么更新,harmonyOS 2.0什么时候更新 harmonyOS 2.0手机开发者Beta版更新内容[多图]...
  9. IMU-Allan方差分析
  10. 2019年PAT甲级冬季考试真题及参考答案
  11. sinx加expx定积分计算c语言,写一个定积分的通用函数,分别求sinx,cosx,e^x.
  12. SSM框架整合详细教程
  13. Jlink调试芯唐Cortex_M0简单步骤
  14. java 代码实现加锁_java内置锁实现锁住代码块方案(同一个对象或锁住整个类.class)...
  15. 华三模拟器的错误使用方法
  16. java发送邮件问题
  17. KVM虚拟化,云平台
  18. 17AHU排位赛3 D题 旋转吧!雪月花 ! (DFS序,线段树维护树上最值)
  19. k8s安装nfs-subdir-external-provisioner插件
  20. Kali Linux 触摸板支持单击

热门文章

  1. 旧电脑没有usb boot 启动选项,有没有光驱如何重装系统。
  2. 在机器学习or深度学习中引入先验知识
  3. vue uniapp 动态设置页面背景图
  4. 台湾、香港、澳门的城市三级联动json
  5. VSC学习前端,不容错过的插件
  6. Microsoft Edge
  7. Latex beamer 制作 PPT
  8. python之网页自动打卡
  9. 济南2022年全面实行电子劳动合同,爱签电子合同为HR赋能增效
  10. java数组查找奇数_java – 在数组中对偶数和奇数进行排序