listview

一、ListView:不同视图中一种显示想的集合,显示表格样式的数据信息
1、视图: 
           在其右上方小箭头点击将视图改为Details;或者右键属性在外观View将其改为Details
2、设置列头:
           在其右上方小箭头点击选择编辑列,然后添加列名;或右键属性-行为-Columns
3、添加行数据 
           在其右上方小箭头点击选择编辑项,然后将属性Text改名,即第一列,添加成员即其它列;或右键属性-行为-Items

二、连接数据库:
1、建立实体类Users、Nation和数据访问类UsersData、NationData
2、调用UsersData类中的Select方法,将全部数据取出来
     List<Student> list = new StudentData().Select();
3、将数据导入到ListView中去

//1、强全部数据取出来
List<Users> list = new UserData().Select();//定义一个泛型集合调用UserData()中的查询方法
int a = 1;//定义变量a,作为序号
foreach (Users u in list)//遍历每条数据
{
ListViewItem li = new ListViewItem();

li.Text = a.ToString();//序号
li.SubItems.Add(u.username);
li.SubItems.Add(u.password);
li.SubItems.Add(u.nickname );
li.SubItems.Add(u.sexstr);
li.SubItems.Add(u.brithdaystr);
li.SubItems.Add(u.nationname);

listView1.Items.Add(li);
a++;
}

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

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

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

6.行号

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

7.数据重复绑定

在绑定之前清空Items集合

listView1.Items.Clear();

8.选中一行数据

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

        CheckBoxes:复选框

        GridLines:网格线

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

        HeaderStyle:列表头的样式

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

重点:

1、数据如何绑定上去

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

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

if (listView1.SelectedItems.Count > 1)//选择了多行
{
MessageBox.Show("修改只允许选择一行");
}
else if (listView1.SelectedItems.Count == 1)
{
foreach (ListViewItem li in listView1.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("请先选中您要修改的数据");
}
(2)另一个是CheckBoxes属性为True时,可以按照复选框来选择整行数据(ListView1.CheckedItems)
foreach (ListViewItem li in listView1.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);
}
}

posted @ 2016-09-25 23:01  苏炎  阅读(137)  评论(0编辑  收藏  举报