【问题标题】:How to manually select an (Ultra) ListView item如何手动选择(超)ListView 项目
【发布时间】:2018-05-22 20:33:58
【问题描述】:

我正在尝试使用以下代码行手动选择 UltraListView 控件中的项目:

lvwSomethings.SelectedItems.Add(lvwSomethings.Items.Cast<UltraListViewItem>()
.FirstOrDefault(x => x.SubItems["Id"].Value.Equals(_selectedId)));

但是,如果在列表中找不到 _SelectedId,我会收到以下错误:

如果 UltraListViewItem 不属于此控件的 Items 集合,则无法选择它

如果“_selectedId”不存在,我怎样才能让它选择列表中的第一项?

【问题讨论】:

  • 需要写成一行吗?先获取 id 再添加 if 来检查条件怎么样?
  • @Steve 我最初是按照您描述的方式编写的,但有兴趣看看是否可以将其写在一行中。我的印象是这比有一个 for 循环然后一个 if 条件要快!
  • 好吧,您不需要(显式地)编写循环,只需简单地检查 first 或 default 的结果是否为 null。我会尝试添加一个答案

标签: c# .net winforms linq infragistics


【解决方案1】:

您可以将您的一行一分为二并添加检查 FirstOrDefault 是否返回 null(子项集合中没有此类项目)

UltraListViewItem item;
item = lvwSomethings.Items.Cast<UltraListViewItem>()
                    .FirstOrDefault(x => x.SubItems["Id"].Value.Equals(_selectedId))

if(item != null)
   lvwSomethings.SelectedItems.Add(item);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    相关资源
    最近更新 更多