根据表格中的数据长度自动调整表格宽度DBGrid

根据表格中的数据长度自动调整表格宽度DBGrid
2008年03月27日 星期四 下午 08:16
根据表格中的数据长度自动调整表格宽度
http://www.csai.cn 作者: Delphi开发经验技巧宝典 来源:希赛网 2008年3月11日 
——此文章摘自 《Delphi开发经验技巧宝典》定价:¥95.00 特价:¥71.25 购买>>

     DBGrid 表格列的宽度是根据所连接的字段的长度来决定的,由于设计字段长度的时候留有足够长的空间,因此通常情况下在表格显示数据的时候表格的列宽很大,大部分都是空白处,这样在浏览数据的时候很不方便,为了避免这一情况,可以考虑根据数据实际数据长度来自动调整表格的宽度,如图7.16所示。


图7.16 根据表格中数据长度自动调整表格宽度

     在“自动设置表格宽度”文本框中获取每个字段实际使用的最大字节数,然后设置DBGrid表格列的Field.DisplayWidth属性来根据实际字段长度自动调整表格宽度,主要代码如下:
     procedure TFrmOrderBy.BtnOrderClick(Sender: TObject);
     var
      i: integer;
      fieldname: string;
     begin
      with AQuery do
       begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT max(datalength(id)) AS id ,');
         SQL.Add('max(datalength(number))AS number,');
         SQL.Add('max(datalength(name))AS name,');
         SQL.Add('max(datalength(old))AS old,');
         SQL.Add('max(datalength(sex))AS sex,');
         SQL.Add('max(datalength(telephone))AS telephone,');
         SQL.Add('max(datalength(department))AS department,');
         SQL.Add('max(len(joindate))AS joindate');
         SQL.Add('FROM TB_Worker');
         Open;
       end;
      for i := 0 to DBGList.Columns.Count - 1 do
       begin
         fieldname := DBGList.Columns[i].Field.FieldName;
         DBGList.Columns[i].Field.DisplayWidth := AQuery.FieldByName(fieldname).AsInteger;
       end;
     end;

转载于:https://www.cnblogs.com/qq528/archive/2008/12/01/1345345.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值