我运行此查询:

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对。

关于delphi - cxgrid:ApplyBestFit抽搐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38395371/

10-09 15:55