为什么我的dbgrid的网格宽度在adoquery更新后宽度会改变?
procedure TfrmKh.FormCreate(Sender: TObject);
begin
dm.ADOQuerykh.Close;
dm.ADOQuerykh.SQL.Clear;
dm.ADOQuerykh.SQL.Add('select * from main_kh');
dm.ADOQuerykh.Open;
dm.ADOQuerykh.Active:=true;
dbgrid1.Columns[0].Width:=80;
dbgrid1.Columns[1].Width:=110;
dbgrid1.Columns[2].Width:=100;
dbgrid1.Columns[3].Width:=100;
dbgrid1.Columns[4].Width:=100;
self.top :=(frmmain.Height-frmmain.fcStatusBar1.Height -self.Height ) div 3;
self.Left:=(frmmain.Width-frmmain.fcOutlookBar1.Width -self.Width) div 2;
self.Edit1.Text:=self.DBGrid1.Fields[0].AsString;
end;
在添加后更新
dm.ADOQuerykh.Refresh;
但是更新后宽度改变了,请问如何解决?
procedure TfrmKh.FormCreate(Sender: TObject);
begin
dm.ADOQuerykh.Close;
dm.ADOQuerykh.SQL.Clear;
dm.ADOQuerykh.SQL.Add('select * from main_kh');
dm.ADOQuerykh.Open;
dm.ADOQuerykh.Active:=true;
dbgrid1.Columns[0].Width:=80;
dbgrid1.Columns[1].Width:=110;
dbgrid1.Columns[2].Width:=100;
dbgrid1.Columns[3].Width:=100;
dbgrid1.Columns[4].Width:=100;
self.top :=(frmmain.Height-frmmain.fcStatusBar1.Height -self.Height ) div 3;
self.Left:=(frmmain.Width-frmmain.fcOutlookBar1.Width -self.Width) div 2;
self.Edit1.Text:=self.DBGrid1.Fields[0].AsString;
end;
在添加后更新
dm.ADOQuerykh.Refresh;
但是更新后宽度改变了,请问如何解决?
procedure TfrmKh.SetDbGridWidth;
begin
dbgrid1.Columns[0].Width:=80;
dbgrid1.Columns[1].Width:=110;
dbgrid1.Columns[2].Width:=100;
dbgrid1.Columns[3].Width:=100;
dbgrid1.Columns[4].Width:=100;
end;dm.ADOQuerykh.Refresh;
SetDbGridWidth;
dm.ADOQuerykh.Refresh
dbgrid1.Columns[0].Width:=80;
dbgrid1.Columns[1].Width:=110;
dbgrid1.Columns[2].Width:=100;
dbgrid1.Columns[3].Width:=100;
dbgrid1.Columns[4].Width:=100;
这样的次序试试看