如何以编程方式选择ObjectListView的子项目?
SelectObject()
和SelectItem()
仅适用于根项目,而不适用于子项目。
答案 0 :(得分:2)
我解决了这个问题。它对任何有类似问题的人都有用。为此,我需要通过下一步更改控制源代码:
将TreeModel
课程中的TreeListView
媒体资源的访问权限类型从protected
更改为public
。在此之后,我有权操纵Branch
对象的TreeListView
个对象。例如,要选择根元素的任何子项,我写下一个代码:
var branch = tlvMain.TreeModel.GetBranch(tlvMain.SelectedObject);
var children = branch.Children.Cast<SecurityObject>().ToList();
tlvMain.SelectObject(children.SingleOrDefault(p=>p.Id == soft.Id));
答案 1 :(得分:2)
ObjectListView中称为子项的东西实际上是列中显示的字符串和图像。
如果您确实想使用ObjectListView,那么选择子项目的最直接方式是
objectListView1.Items[index].SubItems[index]
如果您使用TreeListView,那么您应该使用您已经找到的方法。 虽然我建议选择并更改源代码。