0

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

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

4

1 回答 1

1

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

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

于 2010-06-16T15:09:46.057 回答