Как я добавляю/удаляю объекты к ListView в виртуальном режиме?

Если я использую ListView в виртуальном режиме затем, насколько я понимаю, представление списка только отслеживает небольшое количество объектов в списке. Поскольку пользователь прокручивает его, динамично получает объекты, которые это должно показать из виртуального списка.

Но что, если объект добавлен или удален из основного списка? Если бы объект добавляется/удаляется за пределами диапазона индексов, показываемых представлением списка затем, я предположил бы, что представление списка покажет добавленные/недостающие объекты, когда пользователь прокрутит к тому индексу. Это корректно? Но что, если объект добавляется/удаляется от диапазона индексов, пользователь в настоящее время просматривает? Как я инициировал представление списка для обновления объектов, которые оно в настоящее время просматривает для показа новых/недостающих объектов?

К вашему сведению: я использую ObjectListView, если это имеет какое-либо значение.

8
задан Jon Seigel 28 March 2010 в 21:31
поделиться

1 ответ

Виртуальный список ничего не знает о вашем списке элементов. Он их не отслеживает, даже небольшой набор. Он только всегда спрашивает "что вы хотите показать в n-м ряду?"

Если ваш главный список изменится, все, что вам нужно сделать, это перерисовать список. Invalidate () сделает это за вас. Затем список снова спросит вас, что он должен отображать в каждой строке, видимой в элементе управления.

Если вы используете ObjectListView, рассматривали ли вы возможность использования FastObjectListView, который дает вам преимущества скорости виртуального списка и простоту использования обычного ObjectListView?

8
ответ дан 5 December 2019 в 20:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: