0

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

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


编辑:

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


编辑:

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

好吧,GroupStateChanged 事件会触发,但它会触发不止一次。我将详细解释我的答案。

4

1 回答 1

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

因此,GroupStateChangedeventSelectedFocusedstate 是True,表示当前选定和聚焦的组单元格。这是我想要的关于组单元格上的单击事件。

于 2012-11-06T09:42:01.397 回答