【问题标题】:Updating the icons in an ObjectListView更新 ObjectListView 中的图标
【发布时间】:2011-03-01 10:41:17
【问题描述】:

我在当前项目中使用 TreeListView(ObjectListView 的子类型)。列表中的每个项目都有一个图标,但图标会根据项目的状态而有所不同。例如,如果该项目是只读的,我想使用带有小锁符号的图标。

当项目第一次添加到 TreeListView 时,图标会正确显示,但后来当项目的状态发生变化时,图标不会更新。如何强制控件重新生成所有图标?

【问题讨论】:

    标签: c# winforms objectlistview treelistview


    【解决方案1】:

    由于在调用第一列的 ImageGetter 时获取了图标,并且通常仅在重新生成行时才调用该图标,因此您似乎可以简单地调用 BuildList 并强制重建所有行。不过,这可能会很昂贵,具体取决于复杂性和行数。

    如果可能的话,更好的解决方案是在您知道数据发生变化后立即致电RefreshItemRefreshObject。这需要您知道需要更新其图标的特定 OLVListItem(行),或已更改的基础模型对象(因此,如果重建关联的行,将导致图标不同)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多