cxgrid:ApplyBestFit 抽搐
cxgrid : ApplyBestFit jerking
我运行这个查询:
procedure TForm1.cxButton1Click(Sender: TObject);
begin
cxGrid1DBTableView1.ClearItems;
DataModule2.ACRQuery1.Close;
DataModule2.ACRQuery1.SQL.Clear;
DataModule2.ACRQuery1.SQL.Text := ADVMemo1.Lines.Text;
AdvMemo1.UpdateWrap();
try
DataModule2.ACRQuery1.Open;
except
on E:Exception do
begin
MessageDlg('Napaka pri izvedbi : ' + E.ClassName,
mtError, [mbOK], 0);
end;
end;
cxGrid1DBTableView1.DataController.CreateAllItems;
cxGrid1DBTableView1.ApplyBestFit();
end;
然而,当查询显示在网格中时,我注意到,一瞬间,列正常显示,然后应用最适合的。
看起来有点混蛋。
现在,我不知道这种行为是设计使然还是我在错误的地方应用了配合。我该怎么做才能避免这种情况?
这似乎有所改善,感谢 Uli 的建议:
cxGrid1DBTableView1.DataController.CreateAllItems;
cxGrid1DBTableView1.BeginUpdate();
cxGrid1DBTableView1.ApplyBestFit();
cxGrid1DBTableView1.EndUpdate();
尝试添加 BeginUpdate
/EndUpdate
对。
我运行这个查询:
procedure TForm1.cxButton1Click(Sender: TObject);
begin
cxGrid1DBTableView1.ClearItems;
DataModule2.ACRQuery1.Close;
DataModule2.ACRQuery1.SQL.Clear;
DataModule2.ACRQuery1.SQL.Text := ADVMemo1.Lines.Text;
AdvMemo1.UpdateWrap();
try
DataModule2.ACRQuery1.Open;
except
on E:Exception do
begin
MessageDlg('Napaka pri izvedbi : ' + E.ClassName,
mtError, [mbOK], 0);
end;
end;
cxGrid1DBTableView1.DataController.CreateAllItems;
cxGrid1DBTableView1.ApplyBestFit();
end;
然而,当查询显示在网格中时,我注意到,一瞬间,列正常显示,然后应用最适合的。 看起来有点混蛋。
现在,我不知道这种行为是设计使然还是我在错误的地方应用了配合。我该怎么做才能避免这种情况?
这似乎有所改善,感谢 Uli 的建议:
cxGrid1DBTableView1.DataController.CreateAllItems;
cxGrid1DBTableView1.BeginUpdate();
cxGrid1DBTableView1.ApplyBestFit();
cxGrid1DBTableView1.EndUpdate();
尝试添加 BeginUpdate
/EndUpdate
对。