使DBGrid的列自动调整到何时大小
默认情况下,dbGrid的列宽时按照数据库字段的大小来调整的,如果我们一个字段中的数据表较少,那么看起来极不美观,于是,我写了一个函数来自动调整dbGrid的列宽:
函数如下:
//使dbGrid的内容自动适应他的宽度
procedure MakeDBGridColumnsAutoFixItsWidth(objDBGrid:TDBGrid);
var
cc:integer;
i,tmpLength:integer;
objDataSet:TDataSet;
aDgCLength:array of integer;
begin
cc:=objDbGrid.Columns.Count-1;
objDataSet:=objDbGrid.DataSource.DataSet;
setlength(aDgCLength,cc 1);
file://取标题字段的长度
for i:=0 to cc do
begin
aDgCLength[i]:= length(objDbGrid.Columns[i].Title.Caption);
end;
objDataSet.First;
while not objDataSet.Eof do
begin
file://取列中每个字段的长度
for i:=0 to cc do
begin
tmpLength:=length(objDataSet.Fields.Fields[i].AsString);
if tmpLength>aDgCLength[i]
then aDgCLength[i]:=tmpLength;
end;
objDataSet.Next;
end;
for i:=0 to cc do
begin
objDbGrid.Columns[i].Width:=aDgCLength[i]*7;
end;
end;
简单的测试了一下,效率还可以接受!(www.sinoprise.com)
- 最新文章
- 数据完整性(数据的似真性而非正确或者错误)[01-04]
- 移动无标题栏窗口[01-04]
- Delphi中避免使用ClassName判断对象的类型[01-04]
- 动画显示窗体[01-04]
- delphi中的split函数[01-04]
- 改变DBGrid列的颜色,没什么特别,但是经过调色师检验欧![01-04]
- 相关文章
