我试图使用一个TListView组件来显示相当大的数据列表(如4000行大),并且创建列表的速度非常慢 - 这需要2-3秒,这使得UI全部滞后并且几乎无法使用.
我在TListView.Items内部填充一个BeginUpdate/EndUpdate块,只有预分配的字符串 - 我的意思是:我构建了一个存储所有字符串的列表(没有人类明显的时间),然后我把它们放在TListView中.
我希望在vsReport具有多个列的模式下显示TListView的内容.
代码如下所示:
MyList.Items.BeginUpdate;
for i := 0 to MyCount - 1 do
begin
ListItem := MyList.Items.Add;
ListItem.Caption := StrCaptions[i];
ListItem.SubItems.Add(StrSubItems1[i]);
ListItem.SubItems.Add(StrSubItems2[i]);
end;
MyList.Items.EndUpdate;
Run Code Online (Sandbox Code Playgroud)
我在TListView组件的逻辑中错过了一些其他的黑客攻击吗?或者我应该忘记使用这个组件进行表演?
| 归档时间: |
|
| 查看次数: |
2117 次 |
| 最近记录: |