Delphi cxgrid:ApplyBestFit猛拉
我运行以下查询:Delphi cxgrid:ApplyBestFit猛拉,delphi,devexpress,tcxgrid,Delphi,Devexpress,Tcxgrid,我运行以下查询: 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 DataModu
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
对。尝试在两行周围添加一对BeginUpdate
/EndUpdate
对。@Uli Gerhardt你的建议奏效了,所以你应该得到奖励。如果你愿意,你可以发布答案。很高兴听到!完成。:-)实际上,只有在创建了所有项之后,否则会出现索引越界错误…我相应地简化了我的答案。:-)