• 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;
            }

    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 + "名学生.");
                }
  • 相关阅读:
    自己动手用Javascript写一个无刷新分页控件
    自己动手写一个通用的分页存储过程(适用于多表查询)
    Towards Accurate Multiperson Pose Estimation in the Wild 论文阅读
    统计学习方法c++实现之一 感知机
    2018百度之星开发者大赛-paddlepaddle学习(二)将数据保存为recordio文件并读取
    2018百度之星开发者大赛-paddlepaddle学习
    [转载]C#_Path类常用操作
    安装SQL2K是的文件挂起错误
    相见恨晚MySQL 多表查询
    php截取字符串,出现乱码
  • 原文地址:https://www.cnblogs.com/big-lll/p/6869011.html
Copyright © 2020-2023  润新知