酒店自制饮品:DBGRIDEH自动(标题)列宽
来源:百度文库 编辑:九乡新闻网 时间:2024/05/08 23:12:43
//自动适应标题列宽
function DBGridRecordSize(mColumn: TColumn): Boolean;
{ 返回记录数据网格列显示最大宽度是否成功 }
begin
Result := False;
if not Assigned(mColumn.Field) then Exit;
mColumn.Field.Tag := Max(mColumn.Field.Tag,
TDBGrid(mColumn.Grid).Canvas.TextWidth(mColumn.Field.DisplayText));
Result := True;
end; { DBGridRecordSize }function DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer = 5): Boolean;
{ 返回数据网格自动适应宽度是否成功 }
var
I: Integer;
begin
Result := False;
if not Assigned(mDBGrid) then Exit;
if not Assigned(mDBGrid.DataSource) then Exit;
if not Assigned(mDBGrid.DataSource.DataSet) then Exit;
if not mDBGrid.DataSource.DataSet.Active then Exit;
for I := 0 to mDBGrid.Columns.Count - 1 do begin
if not mDBGrid.Columns[I].Visible then Continue;
if Assigned(mDBGrid.Columns[I].Field) then
mDBGrid.Columns[I].Width := Max(mDBGrid.Columns[I].Field.Tag,
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption)) + mOffset
else mDBGrid.Columns[I].Width :=
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption) + mOffset;
mDBGrid.Refresh;
end;
Result := True;
end;
//自动适应标题列宽 //自动适应内容列宽 FUNCTION BLK(GRID1:TDBGRIDEH):STRING;//表列宽
var
cc:integer;
i,tmpLength:integer;
objDataSet:TDataSet;
aDgCLength:array of integer;
begin
cc:=GRID1.Columns.Count-1; //若报错,减2
objDataSet:=GRID1.DataSource.DataSet;
setlength(aDgCLength,cc+1);
//file://取标题字段的长度
for i:=0 to cc do
begin
aDgCLength[i]:= length(GRID1.Columns[i].Title.Caption);
end;
OBJDATASET.OPEN;
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
GRID1.Columns[i].Width:=aDgCLength[i]*7;
end;
end; //自动适应内容列宽
function DBGridRecordSize(mColumn: TColumn): Boolean;
{ 返回记录数据网格列显示最大宽度是否成功 }
begin
Result := False;
if not Assigned(mColumn.Field) then Exit;
mColumn.Field.Tag := Max(mColumn.Field.Tag,
TDBGrid(mColumn.Grid).Canvas.TextWidth(mColumn.Field.DisplayText));
Result := True;
end; { DBGridRecordSize }function DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer = 5): Boolean;
{ 返回数据网格自动适应宽度是否成功 }
var
I: Integer;
begin
Result := False;
if not Assigned(mDBGrid) then Exit;
if not Assigned(mDBGrid.DataSource) then Exit;
if not Assigned(mDBGrid.DataSource.DataSet) then Exit;
if not mDBGrid.DataSource.DataSet.Active then Exit;
for I := 0 to mDBGrid.Columns.Count - 1 do begin
if not mDBGrid.Columns[I].Visible then Continue;
if Assigned(mDBGrid.Columns[I].Field) then
mDBGrid.Columns[I].Width := Max(mDBGrid.Columns[I].Field.Tag,
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption)) + mOffset
else mDBGrid.Columns[I].Width :=
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption) + mOffset;
mDBGrid.Refresh;
end;
Result := True;
end;
//自动适应标题列宽 //自动适应内容列宽 FUNCTION BLK(GRID1:TDBGRIDEH):STRING;//表列宽
var
cc:integer;
i,tmpLength:integer;
objDataSet:TDataSet;
aDgCLength:array of integer;
begin
cc:=GRID1.Columns.Count-1; //若报错,减2
objDataSet:=GRID1.DataSource.DataSet;
setlength(aDgCLength,cc+1);
//file://取标题字段的长度
for i:=0 to cc do
begin
aDgCLength[i]:= length(GRID1.Columns[i].Title.Caption);
end;
OBJDATASET.OPEN;
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
GRID1.Columns[i].Width:=aDgCLength[i]*7;
end;
end; //自动适应内容列宽
DBGRIDEH自动(标题)列宽
DataGrid控件的列宽自动填充
Excel动画教程:Excel标题跨列居中
Word自动提取标题做页眉1
使用Excel2007自动添加表格字段标题功能
标题...
DataGridView 列宽和行高自动调整的设定
dbgrideh中多选时selection
dbgrideh只读录入
记者的标题绝技(标题党的教科书)
dbgrideh不同行,不行颜色
如何在数据绑定Windows窗体DataGridView控件中自动生成列
标题:易中天经典语录(爆强)
自动画线(通达信)
自动自发(二)
自动自发(三)
自动自发(四)
形意拳学系列(转载)
标题标题1
毕业论文(参考文献自动生成)
自动自发(机械工业出版社)
tabel隐藏第一行控制列宽
怎样给日志添加一个漂亮的《标题》(代码)
[标题]大骨架大粗腿的狮子王(LEO)