C# Winform 關於ListView控件綁定DataTable
阿新 • • 發佈:2017-06-24
toc ice sub clipboard string word 進行 net winform
今天用到ListView控件,這裏總結一下ListView控件綁定DataTable的方法
下面需要特別註意的是,綁定的過程中實現綁定控件的column的屬性,再進行item的綁定。
與DataGridView不同的是,不能直接使用DataSourse綁定,
再者,綁定第一個Items的時候一定要實例化一個Item進行單獨綁定,因為第一個Item與後面的不用即Item與SubItem的區別,下面的代碼中也給出了相應的註釋
[csharp] view plain copy
- private void LoadData()
- {
- string sql = @"select * from room";
- DataTable dt = DBUtil.getDataTable(sql);
- this.listView1.Columns.Clear(); //好習慣,先清除再添加保證數據的一致性
- this.listView1.Columns.Add("roomid");
- this.listView1.Columns.Add("typeids");
- this.listView1.Columns.Add("price");
- this.listView1.Items.Clear();
- int length = dt.Rows.Count;
- for (int i = 0; i < length; i++)
- {
- ListViewItem lvi = new ListViewItem(dt.Rows[i]["roomid"].ToString()); //ListView的第一個Item作為主項需要單獨添加
- string typeid = dt.Rows[i]["typeids"].ToString();
- switch (typeid)
- {
- case "1":
- lvi.ImageIndex = 0; //設置每個Item類型綁定的圖片類型
- break;
- case "2":
- lvi.ImageIndex = 1;
- break;
- case "3":
- lvi.ImageIndex = 2;
- break;
- default:
- break;
- }
- lvi.SubItems.Add(dt.Rows[i]["typeids"].ToString()); //後面添加的Item都為SubItems ,即為子項
- lvi.SubItems.Add(dt.Rows[i]["price"].ToString());
- this.listView1.Items.Add(lvi);//最後進行添加
- }
- }
C# Winform 關於ListView控件綁定DataTable