从组合框中选择时如何显示列表视图组中的项目

时间:2016-08-02 22:13:27

标签: c# listview combobox

我正在尝试从群组中查看列表视图中的项目,这就是我的意思。 我在表格中添加了一个列表视图,在列表视图中我添加了2个组,然后我添加了项目,对于项目,我选择了一个组名。

现在在一个combox框中,我添加了selectindexchanged事件,我把它放了。

 if (comboBox1.Text == "group1")
        {
            foreach (string itemname1 in listimages.Groups[0].Items)
            {
                string currentitem = itemname1;
            }


        }

没有任何工作,所以我想弄清楚我做得不对。

组合框中的项目与组名称具有相同的项目。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

我能够弄清楚。这就是我做的事情

首先在列表视图中我添加了组,然后我添加了项目,并添加了我想要链接到的组中的Tag属性中的项目。

在comboBox中,当我将它们添加到列表视图中时,我输入了组名称。

然后我添加了这段代码:

             private void frmImageSelection_Load(object sender, EventArgs e)
    {

        items = new ListViewItem[listimages.Items.Count];
        listimages.Items.CopyTo(items, 0);
        ShowGroup(0);
        cmbgroups.SelectedIndex = 0;
    }


            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {

        ShowGroup(cmbgroups.SelectedIndex);
    }

    void ShowGroup(int index)
    {
        if (index == 0) // all
        {
            listimages.Items.Clear();
            listimages.Items.AddRange(items);
        }
        else
        {
            listimages.Items.Clear();
            foreach (ListViewItem item in items)
                if (listimages.Groups[index].Name.Equals(item.Tag))
                    listimages.Items.Add(item);
        }
        foreach (ListViewItem item in listimages.Items)
            item.Group = listimages.Groups[index];
    }

    ListViewItem[] items;

无论如何,如果您不确定我会很乐意帮助您,只需在收件箱中留言或其他内容。