【问题标题】:C# grab text from first item in listview in Details viewC# 在详细视图中从列表视图中的第一项获取文本
【发布时间】:2011-05-05 13:02:24
【问题描述】:

我有一个动态填充的列表视图(在详细信息视图中)。我想从列表视图的第一项中获取文本。 此代码不起作用

lstSalesppl.Items[0].Selected = true;
string teamLeader = lstSalesppl.SelectedItems[0].Text;

我在第二行得到一个错误:Invalid argument=Value of '0' is not valid for 'index' 但是当双击列表视图项时,相同的代码在另一种方法中工作

谁能告诉我我做错了什么?

谢谢

【问题讨论】:

  • 我试图复制你的错误,但它对我来说很好。我已经设置了一个 lstSalesppl 并添加了一些条目,然后将您列出的代码放在按钮的 onClick() 事件中,它工作正常。您可以发布更多代码以便我可以在上下文中看到它吗?谢谢。
  • 你处理ItemSelectionChanged吗?如果是 - 请为我们提供该代码
  • 感谢您的回复- Hunter 的工作(见下文)

标签: c# listviewitem


【解决方案1】:

尝试使用

lstSalesppl.Items[0].Text

而不是

lstSalesppl.SelectedItems[0].Text;

lstSalesppl.SelectedItems 可能未绑定到 Selected 属性


ListView.SelectedItems Property

如果在创建 ListView 句柄之前访问该属性,则 SelectedItems 属性将不包含任何项目,这通常发生在最初加载 ListView 以在表单中显示时。您可以检查是否使用 IsHandleCreated 属性创建了句柄。当 MultiSelect 属性设置为 true 时,此属性返回一个集合,其中包含在 ListView 中选择的项目。对于单选 ListView,此属性返回一个包含 ListView 中唯一选定项的集合。有关可以对集合中的项目执行的任务的更多信息,请参阅 ListView.SelectedListViewItemCollection。

【讨论】:

    猜你喜欢
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多