Delphi中实现TDBGrid列宽度自动调整

在delphi中,grid是不能够自动调整列宽度的。其中也找过很多插件,而未能找到。于是自己写了一个函数用于实现这个功能,希望能帮到有需要的人。
procedure TMainForm.FixDBGridColumnWidth(const DBGrid: TDBGrid);
var
i : Integer;
cusWidth : Integer;//改变窗体大小后,数据表格宽度
varWidth : Integer; //每列宽度
totColumns : Integer;
begin
totColumns :=0;
cusWidth := Abs(DBGrid.ClientWidth);
for i := 0 to -1 + DBGrid.Columns.Count do
begin
Inc(totColumns);
end;
varWidth := cusWidth div totColumns;
for i := 0 to DBGrid.Columns.Count-1 do
begin
if i = DBGrid.Columns.Count-1 then
begin
DBGrid.Columns[i].Width := varWidth - 16;
end
else begin
DBGrid.Columns[i].Width := varWidth;
end;
end;
end;


然后在改变窗体大小时,执行FixDBGridColumnWidth这个过程,传入TDGrid的一个实例
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值