• 0925 ListView


    ListView

      说白了就是将数据库以表格的形式展示在窗体中

       1、视图 -点击右上角小箭头可以快速建表

       2、设置列头 - Columns属性点击添加的都是列名

       3、添加行数据 -添加完列之后有个Items属性添加行数据

    -----------------------------------------------------------

    1、窗体加载后自动绑定显示ListView中的数据
      办法:
         数据绑定代码写在窗体的构造函数中

    //绑定一个函数,显示数据

     public void DBind()
            {
                listView1.Items.Clear();
                int a=1;
                List<Student> list1=new List<Student>();
                StudentData st1=new StudentData();
                list1 = st1.Select();
                foreach(Student st in list1)
                {
                    ListViewItem li = new ListViewItem();
                    li.Text = a.ToString();
                    li.SubItems.Add(st.Code.ToString());
                    li.SubItems.Add(st.Name);
                    li.SubItems.Add(st.sex.ToString());
                    li.SubItems.Add(st.birthday.ToString());
                    li.SubItems.Add(st.subjectcode);
                    listView1.Items.Add(li);
                    a++;
                }
            }

    //每次启动就可以刷新数据了

    public Form1()
            {
                InitializeComponent();
                DBind();
            }

    2、给用户展示最终数据
     属性扩展

    在封装对象的时候就需要写了,以前写过不再啰嗦

    3、行号
     用C#变量循环++来实现

    int a=1;

    li.Text = a.ToString();

    这是上面那个函数的两句代码,就是为了实现序号的

    4、数据重复绑定
     在绑定之前清空Items集合

    listView1.Items.Clear();

    5、选中一行数据
    外观 - FullRowSelect:选择其中一项是否选中整行   

    CheckBoxes:复选框   

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

    HeaderStyle:列表头的样式

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

    2、如何将选中的数据取出来
     一个是FullRowSelect属性为True可以选择整行数据
      ListView1.SelectedItems
      
     另一个是CheckBoxes属性为True时,可以按照复选框来选择整行数据
      ListView1.CheckedItems

    ---------------------------------------------------------------------

    删除

    只能删除一条:

    private void button3_Click(object sender, EventArgs e)
            {
                int delcount = 0;
                int shengyucount = 0;
                string a = "";
                StudentData std = new StudentData();
                if (listView1.CheckedItems.Count <= 0)
                {
                    MessageBox.Show("请至少选择一项进行删除!");
                }
                else
                {
                    delcount = listView1.CheckedItems.Count;
                    foreach (ListViewItem li in listView1.CheckedItems)
                    {
                        if (li.Checked)
                        {
                            bool ok = new StudentData().Delete(li.SubItems[1].Text);
                            if (ok)
                            {
                                shengyucount++;
                            }
                            else { a += li.SubItems[1].Text + ","; }
                        }
                    }
                    DBind();
                    if (delcount == shengyucount)
                    {
                        MessageBox.Show("删除成功");
                    }
                    else
                    {
                        MessageBox.Show("删除失败!要删除" + delcount + "条数据,未删除" + (delcount - shengyucount) + "条数据,未删除的用户名未:" + a + "");
                    }
                }
            }

    增加:

    学号不能为空,不能重复,名字不能为空

    private void button1_Click(object sender, EventArgs e)
            {
                Student st = new Student();
                StudentData sdt = new StudentData();
                if (textBox1.Text == "")
                {
                    xuehao.Text = "学号不能为空!";
                }
                else
                {
                    if (sdt.Select(textBox1.Text.Trim()))
                    {
                        xuehao.Text = "学号已存在!";
                    }
                    else
                    {
                        st.Code = textBox1.Text;
                    }
                }

                if (textBox2.Text != "")
                {
                    st.Name = textBox2.Text;
                }
                else
                {
                    xingming.Text = "姓名不能为空!";
                }

                if (radioButton1.Checked)
                {
                    st.Sex = true;
                }
                else
                {
                    st.Sex = false;
                }

                st.Birthday = dateTimePicker1.Value;
                st.SubjectCode = comboBox1.SelectedValue.ToString();
                bool b=sdt.Insert(st);
                if (b == true)
                {
                    MessageBox.Show("添加成功!");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("添加失败!");
                }
                F1.DBind();
               

            }

    修改:

    学号不能修改,名字不能为空

    private void Form3_Load(object sender, EventArgs e)
            {

            }

            private void button1_Click(object sender, EventArgs e)
            {
                Student st = new Student();
                StudentData sdt = new StudentData();
                st.Code = label3.Text;
                if (textBox1.Text != "")
                {
                    st.Name = textBox1.Text;
                }
                else
                {
                    label8.Text = "姓名不能为空!";
                }

                if (radioButton1.Checked)
                {
                    st.Sex = true;
                }
                else
                {
                    st.Sex = false;
                }

                st.Birthday = dateTimePicker1.Value;
                st.SubjectCode = comboBox1.SelectedValue.ToString();
                bool b = sdt.Update(st);
                if (b == true)
                {
                    MessageBox.Show("修改成功!");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("修改失败!");
                }
                F1.DBind();
            }

  • 相关阅读:
    游戏修改器编写原理
    欲练 CSS ,必先宫 IE
    HTML结构化:CSS布局入门指南
    用css来定义table的样式
    HTML表格无空隙嵌套方法
    CSS布局学习笔记
    绽放最后的一丝美丽
    这种感觉真爽
    诗人,是否还有生存的空间
    提升人气的秘密武器
  • 原文地址:https://www.cnblogs.com/a12110303043/p/5907401.html
Copyright © 2020-2023  润新知