【发布时间】:2018-05-24 13:23:08
【问题描述】:
在TListView 中有一个错误:当您在vsReport 模式下设置GroupView 并尝试插入一个项目时,它会显示在组中的最后而不是您插入的位置。这个问题正在讨论here。有几个答案,但没有一个有效。所以,我认为唯一的解决方案是每次插入项目时重建整个列表。这并不简单,但我想我可以做到。但是有一个大问题。如果滚动窗口位于列表的中间并且我重建了列表,它会将我送回到开头。是否可以以某种方式保留滚动信息?
我试过了:
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 岁了。也许我们可以再试一次。
【问题讨论】:
标签: listview delphi delphi-2009