C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改

在展示数据库中不知道数量的数据时怎么展示最好呢?——表格

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+"\t"+lv.SubItems[3].Text);

            }
        }
展示选中的行的信息

二、对于选中的复选框

//<获取选中>按钮
        private void button5_Click(object sender, EventArgs e)
        {
            foreach (ListViewItem lv in listView1.CheckedItems)
            {
                MessageBox.Show(lv.Text + "\t" + lv.SubItems[3].Text);

            }
        }
展示选中的复选框的信息

=============================================================

 

posted @ 2016-12-12 16:11  野性狼心  阅读(26983)  评论(0编辑  收藏  举报