当我们在列表视图中使用组时,如何检查列表视图项

时间:2011-09-05 10:14:55

标签: c# .net winforms linq listview

当我们使用列表视图组时,如何检查列表视图项...

我有列表视图,因为我使用两个组....

如果我单击列表视图第一个组项目,然后单击列表视图第二个组项目

我想做点什么......

我已经在下面做了......

private void lstviewCatgeories_SelectedIndexChanged(object sender, EventArgs e)
{
    var selectedItems = lstviewCatgeories.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() == "catgories")
            .Single();
        var priceItem = selectedItems
            .Where(l => l.Group.Name.ToLower() == "pricesrangegroup")
            .Single();


    // do something


    }
}

但即使我选择组1中的第一项,控件也不会进入if条件 然后我选择第二组中的第二项

但它不起作用..

任何人都可以帮忙...

非常感谢

编辑:我在这一行得到计数 lstviewCatgeories.SelectedItems

任何人都建议任何替代解决方案......

1 个答案:

答案 0 :(得分:1)

此问题的主要原因是您没有选择多个项目。您可以通过按住 Ctrl 键来选择多个项目,或者您需要考虑启用CheckBox属性来选择带有复选框的多个项目。