为了账号安全,请及时绑定邮箱和手机立即绑定

如何在FastObjectListView中选择行?

如何在FastObjectListView中选择行?

C#
莫回无 2021-04-04 12:13:18
我真的很想尝试如何在FastObjectListView(C#,Windows窗体)中选择行。我在网格中有对象和该对象的索引,但是我无法将其选中!我所做的一切-将滚动条移动到这一行,但不要选择它。方法:idx = index of row with my objectobj = my objectgvRaces.Items[idx].Selected = true;gvRaces.SelectObject(obj , true);gvRaces.SelectedItem = (OLVListItem)gvRaces.Items.Find(obj.Id.ToString(), true).FirstOrDefault(); - 对于最后一种方法,我有一个问题。方法... Items.Find(key,searchAllSubitems)中的键是什么?所有这些方法都会更改我的fastObjectListView中的属性,但不要在视觉上更改任何项目。如何选择我的行?
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

您已经有了正确的答案:

gvRaces.SelectObject(obj , true);

这也将起作用(并且可能更多地是您想要的):

gvRaces.SelectedObject = obj;

Rev1.0的观点仍然有效-确保obj实际上是控件中的一个对象。该控件用于Equals()确定两个对象是否相等。

另外,请确保olv.HideSelectionfalse。这是一个非常烦人的MS提供的属性,当ListView它没有焦点时会关闭选择。它使它看上去似乎SelectObject()在实际上没有工作时就没有工作。


查看完整回答
反对 回复 2021-04-10
?
烙印99

TA贡献1829条经验 获得超13个赞

简而言之:您做错了。使用ObjectListView或任何相关控件时,通常不要直接触摸Items集合或ListViewItems。

您应该阅读该教程,尤其是“心理变速”和“必须学习”。

当心ListViewItems。您无需将ListViewItems添加到ObjectListView。如果您发现自己在Items集合中添加了东西,创建ListViewItems或在任何东西中添加了子项目,那么您需要停止–您被迷住了。ObjectListView为您完成所有工作。它拥有ListViewItems并将根据需要销毁并重新创建它们。您的工作是告诉ObjectListView您希望ListViewItems包含哪些信息,然后为其提供要显示的对象列表。

抵制添加,编辑,删除或以其他方式与ListViewItems混淆的诱惑-这将无法工作。


查看完整回答
反对 回复 2021-04-10
  • 2 回答
  • 0 关注
  • 205 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信