1. 程式人生 > >winform 公共控件 ListView

winform 公共控件 ListView

字體 name 內容 tex 中學生 刷新 pan new tostring

//數據顯示,刷新
        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 [email protected] 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 + "名學生.");
            }

winform 公共控件 ListView