В TListView
есть ошибка: когда вы находитесь в режиме vsReport
с установленным GroupView
и пытаетесь вставить элемент, он отображается последним в группе, а не там, где вы вставили.Проблема обсуждается здесь .Есть несколько ответов, но ни один из них не работает.Поэтому я думаю, что единственное решение - перестраивать весь список каждый раз, когда вы вставляете элемент.Это не просто, но я думаю, что смогу это сделать.Но есть большая проблема.Если окно прокрутки находится в середине списка, и я перестраиваю список, оно возвращает меня к началу.Можно как-то сохранить информацию прокрутки?
Я пробовал это:
procedure TNutrientsForm.Button2Click(Sender: TObject);
var ix,iy:Integer;
begin
ix:= NList.ViewOrigin.X;
iy:= NList.ViewOrigin.Y;
NList.Items.BeginUpdate;
RefreshList;
NList.Scroll(ix, iy);
NList.Items.EndUpdate;
end;
... но в режиме vsReport
вы можете прокручивать только кратные высоты строки, так чтоне помещает меня точно туда, где он должен быть.
В любом случае, если у вас есть ответ и на проблему по ссылке выше, вы можете опубликовать его там, и я буду очень счастлив.Я работал над этим 3 дня, и я не нашел решения.Этому вопросу 9 лет.Может быть, мы можем попробовать еще раз.