在展示数据库中不知道数量的数据时怎么展示最好呢?——表格
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+" "+lv.SubItems[3].Text); } }
二、对于选中的复选框
//<获取选中>按钮 private void button5_Click(object sender, EventArgs e) { foreach (ListViewItem lv in listView1.CheckedItems) { MessageBox.Show(lv.Text + " " + lv.SubItems[3].Text); } }
=============================================================