【问题标题】:Two conditions checking on listview group items检查列表视图组项目的两个条件
【发布时间】:2011-09-02 22:38:07
【问题描述】:

我有列表视图(一列)。我已将此列表视图分为两组,如下图所示。

我的问题是:我怎样才能找到这样的选择事件:如果我点击奇数组项目(“一”),然后如果我点击偶数组项目(“二”),我想做点什么。

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

我正在使用 C# 和 WinForms 应用程序。有人可以帮忙吗?

编辑:

  Category names
     name 1
     name 2
     name 3

   prices
    >100
    >200
    300+

如果我点击类别名称,然后点击价格范围,我想做点什么。是否可以在单一条件检查中同时进行?

【问题讨论】:

    标签: c# .net winforms listview


    【解决方案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...
        }
    }
    

    编辑(基于 cmets)

    要检索每个选定的项目,请使用以下命令:

    注意:要使以下代码正常工作,您需要将每个 ListViewGroup 的 Name 属性分别设置为“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();
        }
    }
    

    【讨论】:

    • 它是否适用于我编辑过的问题的列表,请您看一下问题...如果我选择类别名称,然后选择价格范围我想做的事情。 ....请您帮忙...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多