数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

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


发布日期:2020年09月09日
 
根据表格中的数据长度自动调整表格宽度
——此文章摘自《Delphi开发经验技巧宝典》定价特价  购买>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

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

http://developcsaicn/delphi/images/jpg>

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

自动设置表格宽度文本框中获取每个字段实际使用的最大字节数然后设置DBGrid表格列的FieldDisplayWidth属性来根据实际字段长度自动调整表格宽度主要代码如下

procedure TFrmOrderByBtnOrderClick(Sender: TObject);

var

i: integer;

fieldname: string;

begin

with AQuery do

begin

Close;

SQLClear;

SQLAdd(SELECT max(datalength(id)) AS id );

SQLAdd(max(datalength(number))AS number);

SQLAdd(max(datalength(name))AS name);

SQLAdd(max(datalength(old))AS old);

SQLAdd(max(datalength(sex))AS sex);

SQLAdd(max(datalength(telephone))AS telephone);

SQLAdd(max(datalength(department))AS department);

SQLAdd(max(len(joindate))AS joindate);

SQLAdd(FROM TB_Worker);

Open;

end;

for i := to DBGListColumnsCount do

begin

fieldname := DBGListColumns[i]FieldFieldName;

DBGListColumns[i]FieldDisplayWidth := AQueryFieldByName(fieldname)AsInteger;

end;

end;

               

上一篇:Delphi中DBGrid中行的定位及着色实现

下一篇:在DBGrid中设置不滚动的列及复制与粘贴[1]