我发现我可能不得不使用少于10列的字符串网格,但大约有5万行.
实验表明它是一个非常反应迟钝的CPU.
有什么指针吗?
代码或组件?
最好是Delphi(7)内置或TMS(我有许可证)或FOSS(用于商业用途).
更新:请不要只是告诉我使用虚拟树视图等.请告诉我原因,以便我可以学到一些东西.谢谢.
我不认为问题来自于将此数字添加到TStringGrid.
添加100k行只需不到1秒(700ms)(不是高端PC,只是双核).
procedure TForm1.btn1Click(Sender: TObject);
Const
arr : array[1..5] of string = ('One','Two','Three','Four','Five');
Rows = 100000;
var
I: Integer;
F,E : Integer;
begin
StringGrid1.RowCount := Rows;
F := GetTickCount;
for I := 0 to Rows do
begin
StringGrid1.Cells[1,I] := Arr[1] + IntToStr(I);
StringGrid1.Cells[2,I] := Arr[2]+ IntToStr(I);
StringGrid1.Cells[3,I] := Arr[3]+ IntToStr(I);
StringGrid1.Cells[4,I] := Arr[4]+ IntToStr(I);
StringGrid1.Cells[5,I] := Arr[5]+ IntToStr(I);
end;
E := GetTickCount;
ShowMessage(Inttostr(E-F));
end;
Run Code Online (Sandbox Code Playgroud)
我认为你的代码很慢,你从数据库带来了数据吗?如果是这样,这将是您的代码的瓶颈,也向WHATEVER GRID添加50k,以便为名为"Bad practice"的用户显示.
如果没有显示任何代码,很难告诉你为什么这么慢.
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |