2011-09-02 31 views
0

我有列表视图(有一列)。我将这个列表视图分成两组,如下图所示。我的问题是:如何找到这样的选择事件:如果我点击奇数组项目(“一个”),然后如果我点击偶数组项目(“两个”),我想要做一些事情。检查listview组项目的两个条件

如何在单个if声明中检查这两个条件?这两个条件是需要在单个if语句中完成的条件。是否可以使用单一条件?

enter image description here

我使用C#和WinForms应用程序。有人会请帮助吗?

编辑:

Category names 
    name 1 
    name 2 
    name 3 

    prices 
    >100 
    >200 
    300+ 

如果我点击类别名称,然后我点击的价格范围内,我想要做的事。是否有可能在单一条件检查中做到这一点?

回答

1

尝试使用SelectedIndexChanged事件,像这样:

void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    var selectedItems = listView1.SelectedItems.Cast<ListViewItem>(); 
    var passed = (selectedItems.Select(l => l.Group.Name).Distinct().Count() == 2 && selectedItems.Count() == 2); 
    if (passed) 
    { 
     //Do something... 
    } 
} 

编辑(基于评论)

检索每个选择的项目使用以下命令:

注意:对于下面的代码工作,你需要设置每个哟的名称属性你的ListViewGroup分别为“Category”和“Prices”。

void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    var selectedItems = listView1.SelectedItems.Cast<ListViewItem>(); 
    var passed = (selectedItems.Select(l => l.Group.Name).Distinct().Count() == 2 && selectedItems.Count() == 2); 
    if (passed) 
    { 
     var categoryItem = selectedItems.Where(l => l.Group.Name.ToLower() == "category").Single(); 
     var priceItem = selectedItems.Where(l => l.Group.Name.ToLower() == "prices").Single(); 
    } 
} 
+0

它是否适用于该列表我已编辑我的问题你会看看这个问题...如果我选择类别名称,然后选择价格范围我想做点什么... ..你会帮助... – rockyashkumar

+0

@你会帮我... – rockyashkumar

+0

@ user844360 - 答案更新。 – jdavies