1. 程式人生 > >C# Winform 關於ListView控件綁定DataTable

C# Winform 關於ListView控件綁定DataTable

toc ice sub clipboard string word 進行 net winform

今天用到ListView控件,這裏總結一下ListView控件綁定DataTable的方法

下面需要特別註意的是,綁定的過程中實現綁定控件的column的屬性,再進行item的綁定。

與DataGridView不同的是,不能直接使用DataSourse綁定,

再者,綁定第一個Items的時候一定要實例化一個Item進行單獨綁定,因為第一個Item與後面的不用即Item與SubItem的區別,下面的代碼中也給出了相應的註釋

[csharp] view plain copy
  1. private void LoadData()
  2. {
  3. string sql = @"select * from room";
  4. DataTable dt = DBUtil.getDataTable(sql);
  5. this.listView1.Columns.Clear(); //好習慣,先清除再添加保證數據的一致性
  6. this.listView1.Columns.Add("roomid");
  7. this.listView1.Columns.Add("typeids");
  8. this.listView1.Columns.Add("price");
  9. this.listView1.Items.Clear();
  10. int length = dt.Rows.Count;
  11. for (int i = 0; i < length; i++)
  12. {
  13. ListViewItem lvi = new ListViewItem(dt.Rows[i]["roomid"].ToString()); //ListView的第一個Item作為主項需要單獨添加
  14. string typeid = dt.Rows[i]["typeids"].ToString();
  15. switch (typeid)
  16. {
  17. case "1":
  18. lvi.ImageIndex = 0; //設置每個Item類型綁定的圖片類型
  19. break;
  20. case "2":
  21. lvi.ImageIndex = 1;
  22. break;
  23. case "3":
  24. lvi.ImageIndex = 2;
  25. break;
  26. default:
  27. break;
  28. }
  29. lvi.SubItems.Add(dt.Rows[i]["typeids"].ToString()); //後面添加的Item都為SubItems ,即為子項
  30. lvi.SubItems.Add(dt.Rows[i]["price"].ToString());
  31. this.listView1.Items.Add(lvi);//最後進行添加
  32. }
  33. }

C# Winform 關於ListView控件綁定DataTable