C#:控制元件ListView 的使用
阿新 • • 發佈:2018-12-27
1.介紹
使用ListVIew顯示資料,需要先給ListView設定列的數量及列名,之後才能新增資料。如果需要對資料進行分組,則在設定列名之前,可以先把組名確定新增。
private void initListView() { //新增分組 ListViewGroup one_group = new ListViewGroup(); one_group.Header = "第一組"; one_group.HeaderAlignment = HorizontalAlignment.Left; ListViewGroup two_group = new ListViewGroup(); two_group.Header = "第二組"; two_group.HeaderAlignment = HorizontalAlignment.Center; this.listview.Groups.Add(one_group); this.listview.Groups.Add(two_group); this.listview.ShowGroups = true; // 顯示分組 this.listview.View = View.Details;//listview顯示形式,它有多種顯示形式 this.listview.Columns.Add("id",100,HorizontalAlignment.Left); //新增一個列 this.listview.Columns.Add("name",100,HorizontalAlignment.Left); //新增一個列 this.listview.BeginUpdate(); //在進行大量的資料繫結時,可開啟,防止閃爍 for (int i = 0; i < 10; i++) { ListViewItem lvi = new ListViewItem(); lvi.ImageIndex = i; //圖片繫結 lvi.Text = "item " + i; //第0列 id lvi.SubItems.Add("第1列"); //第一列 nname if (i < 5) { lvi.ForeColor = Color.Blue; //設定顏色 lvi.Group = one_group; // lvi 分組 } else { lvi.ForeColor = Color.Red; //設定顏色 lvi.Group = two_group; // lvi 分另外一組 } this.listview.Items.Add(lvi); //Listview新增 item } this.listview.EndUpdate(); //大量資料繫結完,結束 //控制行高 ImageList imagelist = new ImageList(); imagelist.ImageSize = new Size(20,20); imagelist.Images.Add("zero",Properties.Resources.onw); imagelist.Images.Add("zero", Properties.Resources.onw); listview.SmallImageList = imagelist; //與圖片顯示繫結 listview.CheckBoxes = true; //有勾選框 }
上面我們設定了勾選框,如果想要得到所有勾選的ListViewItem的資訊,該如何?
String s = ""; foreach (ListViewItem item in listview.Items) { if (item.Checked == true) { String s1 = item.SubItems[0].Text; s += s1 + "\n"; } } 還可以用如下程式碼與上面等價:獲取第0列的內容 String s = ""; foreach (ListViewItem item in listview.CheckedItems) { String s1 = item.SubItems[0].Text; s += s1 + "\n"; } this.showresult.Text = s;
如果想要移除某一項 ListViewItem 的資訊,該如何?
this.listview.Items.RemoveAt(5); //移除某一項,或直接用listview.Items.Remove(lvi);
移除所有資料,且把列名也刪除掉用clear()
this.listview.Clear();