zoukankan      html  css  js  c++  java
  • 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;
            }
    View Code

    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 <= 0)
                {
                    MessageBox.Show("请先选中学生信息!");
                }
                else
                {
                    int count = 0;
                    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 = 0; cxx < Nxx; cxx++)
                    {
                        if (new StudentsData().Delete(Lt[cxx], F1.textBox1.Text))
                        {
                            count++;
                        }
                    }
                    F5();
                    MessageBox.Show("学生信息删除成功,本次共删除" + count + "名学生.");
                }
  • 相关阅读:
    Dev中出现Error 0: 操作成功完成。
    找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有没有鞍点。
    oracle 日常删除多余数据
    java程序练习:输入数字转换成中文输出(金额相关)
    linux压缩和解压文件命令
    一篇文章搞定Git——Git代码管理及使用规范
    读书心得(1)-20191108
    回表查询的说明
    Java 8新特性解读
    java-try catch中return在finally之前 还是之后执行
  • 原文地址:https://www.cnblogs.com/zhangxin4477/p/6797013.html
Copyright © 2011-2022 走看看