我有一个应用程序,只需单击一个按钮,数据库表中的所有记录都会加载到cxGrid中(通过tadquery / datasource)。当用户插入记录时,记录数量会增加。
我只是想知道是否有任何我需要做或应该做的事情,以确保加载所有记录不会花费太长时间。
这是我点击按钮时正在做的事情:
User-Agent
Host
Accept
Connection
建议将不胜感激。
答案 0 :(得分:1)
显然,这不是一项特别严格的测试,但是在下面的测试应用中,将GridMode
设置为True
会导致数据集被打开并且网格填充大约125毫秒(对于7k 22列行)与900ms相比,设置为False
。
procedure TForm1.Button1Click(Sender: TObject);
var
T1 : Integer;
begin
if qNames.Active then
qNames.Close;
T1 := GetTickCount;
cxGrid1DBTableView1.DataController.DataModeController.GridMode := CheckBox1.Checked;
qNames.Open;
Caption := IntToStr(qNames.RecordCount) + ':' + IntToStr(GetTickCount - T1) + ':' + IntToStr(qNames.FieldCount);
end;
这是将cxGrid中的所有内容设置为默认值,只是我已将DataController的KeyFieldNames设置为数据集的PK。