winform 公共控件 ListView
阿新 • • 發佈:2017-05-17
字體 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