(*//
标题:数据网格自动适应宽度
说明:使用DBGrid不可不看
设计:Zswang
日期:2002-03-04
支持:wjhu111@21cn.com
//*)
///////Begin Source
uses
Math;
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; { DBGridAutoSize }
///////End Source
///////Begin Demo
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
DBGridRecordSize(Column);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DBGridAutoSize(DBGrid1);
end;
///////End Demo
分享到:
相关推荐
自动调整delphi中dbgrid大小,对dbgrid中根据文本值自动调整单元格的大小, 自动调整delphi中dbgrid大小,对dbgrid中根据文本值自动调整单元格的大小
Delphi美化DBGrid控件表头、格线及颜色等,纯Delphi代码..rar
Delphi DBGrid表头美化实例!小弟我在认真研读了站内各位先进的文章后,偶有小得,特抛砖引玉(例子非常的简单,希望大大们原谅晚辈我经常拿无知当个性),DBGrid是显示资料的主要手段之一。但是DBGrid缺省的外观未免...
Delphi DbGrid导出到Excel
Delphi 改变DBgrid控件选中时的单元格颜色,一般在默认状态下,DBgrid在行被选中时是深蓝色的,本程序将改变这个深蓝色为用户自定义颜色。操作方法很简单:当选中DBgrid任意行时,点击上部的任意颜色值,此时就已经...
dbgrideh 实现有条件合并单元格的例子 内含修改的dbgrideh 4.2控件
delphi dbgrid+clientdataSet实现的动态配置dbgrid显示列类,输入一个xml文件,单保存即可把dbgrid中所有列保存到xml中,还可以拖动,修改是否显示,显示宽度。
delphi dbgrid导出excel单元文件绝对好用 调用方式 var GridtoExcel: TDBGridEhToExcel; begin GridtoExcel := TDBGridEhToExcel.Create(nil); try GridtoExcel.DBGridEh := DBGridEh1; GridtoExcel.FileName :=...
delphi 自带的DBGrid控件,导出EXCEL
delphi 对dbgrid的添加修改删除数据操作 sql数据库
打印DBGrid表格里的数据
在 Delphi 语言的数据库编程中,DBGrid 是显示数据的主要手段之一。但是 DBGrid 缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的。通过编程,我们可以改变...
Delphi2007典型开发实例--在DBGrid中插入下拉组合框源代码!
delphi dbgrid 导出Excel表delphi dbgrid 导出Excel表
将Delphi的DBGrid列表导出到Excel文件
Delphi DBGrid导出Excel2010
附件内是Delphi下将DBGRID中数据导出为Excel文件的方法,早上刚从网上下载过来用过,很好用。只需要添加两个文件到工程中,然后再写1句代码调用方法就好了噢,非常的方便!!!内附使用说明。
dbgrid 添加点击字段名自动排序功能,注意空数据时候需要加入判断。
Delphi 中DBGrid用法,Pascal语言