Ну первое, надеюсь .Items.BeginUpdate, .Items.EndUpdate, проставлены.
а второе если установлена сортировка SortType = stBoth или stData при изменении TListItem.Data
ListView пересортировывает весь список.
Здравствуйте, Firstborn, Вы писали:
F>Чёрт подери, SortType действительно стоит в stBoth, мог бы и сам догадаться! Спасибо большое! Однако, что мне теперь делать? Мой SortType должен быть выставлен в stBoth или stData, просто для того, чтобы работал TListView.OnCompare, через который у меня реализована хитрая сортировка.
установи ее после того как все добавишь
Ситуация такова: имеется некий ListView, который заполняется примерно 300 ListItems, которые тут же и создаются. Вобщем есть цикл, в котором мы создаём ListItem, выставляем ему определённые значения Caption и всё, собственно. Такой вариант отрабатывает в мгновение ока, т.е. никаких задержек не замечено. Затем я в этот цикл добавил одну строчку, смысл которй в сохранении некоторого указателя в свойстве Data каждого ListItem. Выглядит это так:
var LI: TListItem;
. . .
LI.Data := Pointer(p);
. . .
И вот после добавления этой строки на той же системе процесс заполнения ListView заметно затормозился, то есть теперь он занимает где-то около секунды. Задержка эта визуальная, а оттого неприятная, тем более что заполняем только 300 item'ов, а что если 3000 понадобится? Хотелось бы понять, в чём тут дело...
Здравствуйте, merlin.fs, Вы писали:
MF>Здравствуйте, Firstborn, Вы писали:
F>>Чёрт подери, SortType действительно стоит в stBoth, мог бы и сам догадаться! Спасибо большое! Однако, что мне теперь делать? Мой SortType должен быть выставлен в stBoth или stData, просто для того, чтобы работал TListView.OnCompare, через который у меня реализована хитрая сортировка.
MF>установи ее после того как все добавишь
Хм. Верно. Спасибо. Чувствую, пора заканчивать рабочую неделю, а то я ещё чего-нибудь в этом духе наспрашиваю