listview 控件


1. 常用属性设置

-外观 

FullRowSelect: True //选中整行 

GridLines: True //显示网格线 

View: Details 

2. 选中整行触发的事件 

ItemSelectionChanged 

在该事件函数中可以使用 mylistView.FocusedItem来引用你所选中的item。

值得注意的是该时间函数当item由选中变成未选中,会被调用一次;在item由未选中变为选中时又会被调用一次。

故,当你在你的listview里有item 1切换到item 2时,该时间函数会被调用2次。此时,你可以用listView手控.FocusedItem.Selected == true来过滤其中一次调用。

例码如下:

private void listView手控_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
    if (listView手控.FocusedItem.Selected)
    {
        button_手控修改.Enabled = true;
        button__手控删除.Enabled = true;
    }
    else
    {
        button_手控修改.Enabled = false;
        button__手控删除.Enabled = false;
    }
}

2、清空列表数据

listview.clear(),使用此方法从 ListView 控件中移除所有的项和列;

listview.items.clear(),使用此方法从ListView控件中清除所有的记录;

3、添加数据到listView1

    foreach (Solder item in listSolder)
            {             
                ListViewItem lt = new ListViewItem();
                lt.Text = item.MinPackMtNo.ToString();
                lt.SubItems.Add(item.WONO.ToString());    
                listView1.Items.Add(lt);
            }           

4、获取listview中选中一行的值 

1 private void listView1_ItemSelectionChanged(object sender,EventArgs e)
2 {  if (listView1.SelectedItems.Count == 0) return;  
3   else 
4 { 
5 string site = listView1.SelectedItems[0].Text;
6 string type = listView1.SelectedItems[0].SubItems[1].Text;
7 }
8 }

 //选中点击那一行的第一列的值,索引值必须是0,而且无论点这一行的第几列,选中的都是这一行第一列的值 ,如果想获取这一行除第一列外的值,则用subitems获取,[]中为索引,从1开始。

相关