Обновление значков в ObjectListView - PullRequest
0 голосов
/ 09 июня 2010

Я использую TreeListView (подтип ObjectListView ) в моем текущем проекте. Каждому элементу в списке присваивается значок, но значок может различаться в зависимости от состояния элемента. Например, если элемент доступен только для чтения, я хочу использовать значок с небольшим символом блокировки.

Когда элементы впервые добавляются в TreeListView, значки отображаются правильно, но позже, когда состояние элемента изменяется, значки не обновляются. Как заставить управление восстановить все иконки?

1 Ответ

1 голос
/ 16 июня 2010

Так как значок получается, когда вызывается ImageGetter для первого столбца, и так как он вызывается обычно, когда строки восстанавливаются, то кажется, что вы можете просто вызвать BuildList и принудительно перестроить все строки.Однако это может быть дорого, в зависимости от сложности и количества строк.

Лучшим решением, если это возможно, будет вызов RefreshItem или RefreshObject, как только вы узнаете, что данные изменились.Это требует, чтобы вы знали либо конкретные OLVListItem (строки), которые требуют обновления своих значков, либо базовые объекты модели, которые изменились (и, таким образом, значок изменился бы, если бы связанные с ним строки были перестроены).

...