单击组标题时如何检查所有项目?

时间:2012-11-06 07:56:37

标签: c# winforms objectlistview

我使用ObjectListView列出所有项目。当我单击由ObjectListView生成的Group cell标题时,我不知道如何接收click事件。

我想实现检查(或取消选中)所点击组中所有项目的功能。


编辑:

我通过添加一个按钮来检查/取消选中所选项目。 ObjectListView将选择所单击组的所有项目,因此我通过按钮调用检查/取消选中行为。


编辑:

GroupTaskClicked事件不起作用。 ObjectListView的版本是v2.6.0(2012/10/20),使用visual studio 2010。

好吧,GroupStateChanged事件将会触发,但它会触发多次。我会更详细地解释我的答案。

1 个答案:

答案 0 :(得分:0)

GroupStateChanged将会触发。我按照方法听这个事件。

 private void olvList_GroupStateChanged(object sender, BrightIdeasSoftware.GroupStateChangedEventArgs e)
        {
            Trace.WriteLine("Name:" + e.Group.Header + "\r\nSelected:" + e.Group.Selected + "\r\nFocused:" + e.Focused + "\r\n");

        }

单击名为“MyClickGroup”的组单元格时,它将触发2个事件。

Name:MyClickGroup
Selected:True
Focused:False
Name:MyClickGroup
Selected:True
Focused:True

如果我点击名为“MyNewGroup”的组单元格,而另一个名为“MyClickGroup”的单元格首先被点击,则会触发4个事件。

Name:MyClickGroup
Selected:True
Focused:False
Name:MyClickGroup
Selected:False
Focused:False
Name:MyNewGroup
Selected:True
Focused:False
Name:MyNewGroup
Selected:True
Focused:True

因此,GroupStateChangedSelected状态为Focused的{​​{1}}事件表示当前选定且关注的组单元格。这就是我想要的关于组单元格上点击的事件。