`
woxiaoe
  • 浏览: 283511 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Delphi DBGrid 表格自适应宽度

阅读更多

(*// 
标题:数据网格自动适应宽度 
说明:使用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大小

    在Delphi中,DBGrid(数据绑定网格组件)是一种常用的数据可视化工具,它允许开发者将数据库中的记录展示为表格形式。然而,在实际开发过程中,我们经常遇到一个问题:当单元格内的文本长度不一时,单元格的大小可能...

    Delphi美化DBGrid控件表头、格线及颜色等,纯Delphi代码..rar

    2. **格线(Grid Lines)调整**:默认的DBGrid格线可能过于简单,可以通过改变线条颜色、宽度或者使用虚线来增加视觉效果。这同样可以通过OnDrawDataCell事件处理,使用Canvas的MoveTo和LineTo方法绘制自定义线条。 ...

    delphi dbgrid有条件合并单元格

    在Delphi编程环境中,DBGrid(数据库网格)是用于显示和操作数据库数据的常用组件。在某些场景下,我们可能需要根据特定条件合并DBGrid中的单元格,以提高数据展示的可读性和美观性。标题“delphi dbgrid有条件合并...

    Delphi 改变DBgrid控件选中时的单元格颜色.rar

    Delphi 改变DBgrid控件选中时的单元格颜色,一般在默认状态下,DBgrid在行被选中时是深蓝色的,本程序将改变这个深蓝色为用户自定义颜色。操作方法很简单:当选中DBgrid任意行时,点击上部的任意颜色值,此时就已经...

    Delphi DBGrid表头美化实例.rar

    Delphi DBGrid表头美化实例!小弟我在认真研读了站内各位先进的文章后,偶有小得,特抛砖引玉(例子非常的简单,希望大大们原谅晚辈我经常拿无知当个性),DBGrid是显示资料的主要手段之一。但是DBGrid缺省的外观未免...

    delphi DBGrid排序的两种方法(自己代码中,测试成功的)

    ### Delphi DBGrid排序方法详解 #### 背景介绍 在Delphi开发环境中,DBGrid作为常用的数据展示控件之一,在数据展示方面扮演着重要角色。然而,默认情况下,DBGrid并不支持直接对数据进行排序的功能。这为开发者...

    delphi dbgrid导出excel单元文件绝对好用

    delphi dbgrid导出excel单元文件绝对好用 调用方式 var GridtoExcel: TDBGridEhToExcel; begin GridtoExcel := TDBGridEhToExcel.Create(nil); try GridtoExcel.DBGridEh := DBGridEh1; GridtoExcel.FileName :=...

    delphi 对dbgrid的添加修改删除数据操作 sql数据库

    在Delphi编程环境中,DBGrid(数据库网格)是开发者常用的一种控件,它用于显示来自数据库的数据,并且提供了用户友好的界面来进行数据的添加、修改和删除操作。本篇文章将详细探讨如何在Delphi中利用DBGrid与SQL...

    DELPHI DBGrid 应用全书

    ### DELPHI DBGrid 应用全书:美化与定制 #### 一、DBGrid简介与重要性 在 Delphi 开发环境中,DBGrid 组件是用于显示数据库数据的一个非常重要的工具。它允许开发者轻松地将数据库记录以表格的形式展现出来,方便...

    Delphi在DBGrid中插入下拉组合框

    在Delphi编程中,DBGrid(数据库网格)是用于显示和编辑数据库数据的强大组件。它允许用户以表格形式查看和操作数据库记录。然而,有时我们可能需要为某些字段提供更复杂的交互,比如一个下拉组合框(ComboBox),...

    delphi动态配置DBgrid列显示类

    1. **DBGrid组件**:DBGrid是Delphi中用于显示和编辑来自数据源(如TClientDataSet)的表格数据的可视化组件。它能够自动根据数据字段的数量和类型创建列,并且支持用户交互,如排序、过滤和编辑。 2. **...

    Delphi DBGrid导出Excel

    delphi 自带的DBGrid控件,导出EXCEL

    Delphi DbGrid导出到Excel

    在Delphi编程环境中,DbGrid(数据库网格)是用于显示和操作数据库数据的常用组件。它为用户提供了直观的方式来查看和编辑数据表中的记录。有时,我们可能需要将DbGrid中的数据导出到Microsoft Excel,以便进行...

    Delphi DBGrid导出Excel2010

    Delphi DBGrid 导出 Excel 2010 Delphi DBGrid 是一个强大的数据-grid 控件,经常用于展示大量数据。然而,在实际应用中,我们经常需要将 DBGrid 中的数据导出到其他格式,例如 Excel,以便于数据分析和处理。下面...

    打印DBGrid表格里的数据

    本篇文章将详细探讨如何打印DBGrid表格里的数据,以及相关的关键知识点。 首先,我们需要理解DBGrid的工作原理。DBGrid是连接到数据源(如数据库表或查询)的可视化控件,它能动态地展示数据集中的字段,并允许用户...

    Delphi+DBGrid 导出Excel文件

    在Delphi编程环境中,DBGrid控件是一种常用的数据可视化组件,它允许开发者以表格形式展示数据库中的数据。而导出DBGrid中的数据到Excel文件是一项常见的需求,这可以帮助用户进行数据分析、报表制作或数据共享。...

    Delphi中DBGrid数据分行/拆行/多行显示

    在Delphi编程环境中,DBGrid(数据库网格)是开发者常用的数据可视化组件,它允许用户以表格形式展示数据库中的数据。然而,有时一个字段的数据可能很长,不适合在单行内完全显示,这时就需要实现DBGrid数据的分行/...

    delphi DBGrid_添加点击排序功能

    在Delphi编程环境中,DBGrid是一个非常常用的组件,它用于显示数据库中的数据,并提供用户交互。在许多应用程序中,我们希望DBGrid能够支持点击列头进行自动排序,以方便用户快速浏览和分析数据。本教程将详细介绍...

    Delphi DBGRID数据导出 Excel 文件的方法

    在Delphi编程环境中,将DBGrid中的数据导出到Excel文件是一个常见的需求,这有助于数据的备份、分析或与其他系统交换信息。以下是如何利用给定的文件“Xls.pas”和“ExportXlsClass.pas”实现这个功能的详细步骤。 ...

Global site tag (gtag.js) - Google Analytics