DBGridEh列宽自动适应内容的简单方法
///////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
procedure TFm_ReadExcel.FormCreate(Sender: TObject);
begin
inherited;
dbgrideh1.RowHeight:=15;
end;
DBGridEh列宽自动适应内容的简单方法的更多相关文章
- saiku导出excel单元格格式与中文列宽自动适应
在saiku导出excel后打开发现单元格的整数也显示为小数,并且含有中文的列宽没有自动适应,解决办法如下: 打开ExcelWorksheetBuilder.java文件,找到applyCellFor ...
- 纯css实现div三列等高布局的最简单方法简化版/也可以多列
使用正padding和负margin对冲实现多列布局方法 这种方法很简单,就是在所有列中使用正的上.下padding和负的上.下margin,并在所有列外面加上一个容器,并设置overflow:hid ...
- 关于web开发中订单自动超时和自动收货的简单方法(window server)
最近做一个订单自动超时和自动收货的功能,因为以前是用的mysql 存储过程和定时器来完成,这次的业务逻辑相对复杂用以前的方式就不太合适,本来是准备使用定时执行php脚本来实现的,后来发现业务逻辑中使用 ...
- Java 设置Excel自适应行高、列宽
在excel中,可通过设置自适应行高或列宽自动排版,是一种比较常用的快速调整表格整体布局的方法.设置自适应时,可考虑2种情况: 1.固定数据,设置行高.列宽自适应数据(常见的设置自适应方法) 2.固定 ...
- (几乎)完美实现 el-table 列宽自适应
背景 Element UI 是 PC 端比较流行的 Vue.js UI 框架,它的组件库基本能满足大部分常见的业务需求.但有时候会有一些定制性比较高的需求,组件本身可能没办法满足.最近在项目里就碰到了 ...
- MS WORD 表格自动调整列宽,自动变漂亮,根据内容自动调整 .
在MS WORD中,当有大量的表格出现时,调整每个表格的的高和宽和大小将是一件非常累的事情,拖来拖去,非常耗时间,而且当WORD文档达到300页以上时,调整反应非常的慢,每次拖拉线后,需要等待一段时间 ...
- 关于OpenXml SpreadSheet列宽根据内容的Auto-suitability
因为之前接到的一个需求,让excel的宽度自动适应.所以最近一直在看Excel相关内容,从结构到.net的两个类库OpenXml和Office.Interop.Excel,再到一些具体的使 ...
- 【Qt开发】QTableWidget设置根据内容调整列宽和行高
QTableWidget要调整表格行宽主要涉及以下一个函数 1.resizeColumnsToContents(); 根据内容调整列宽 ...
- MS WORD 表格自己主动调整列宽,自己主动变美丽,依据内容自己主动调整
在MS WORD中,当有大量的表格出现时,调整每一个表格的的高和宽和大小将是一件很累的事情,拖来拖去,很耗时间,并且当WORD文档达到300页以上时,调整反应很的慢,每次拖拉线后,须要等待一段时间其才 ...
随机推荐
- 2018 焦作网络赛 K Transport Ship ( 二进制优化 01 背包 )
题目链接 题意 : 给出若干个物品的数量和单个的重量.问你能不能刚好组成总重 S 分析 : 由于物品过多.想到二进制优化 其实这篇博客就是存个二进制优化的写法 关于二进制优化的详情.百度一下有更多资料 ...
- Count the Buildings ( s1 )
http://acm.hdu.edu.cn/showproblem.php?pid=4372 题意:n个房子在一条线上(n<=2000),高度分别为1~n,现在需要将房子这样放置:从最左往右能看 ...
- CDOJ 1133 菲波拉契数制 变直接统计为构造
菲波拉契数制 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit St ...
- OpenCV使用Cmake来管理工程
写篇入门级别的文章,对于配置OpenCV很多人不知道有这种方法,其实这种方法在OpenCV编译过程中已经使用到的了,如果有手动编译OpenCV经验的同学可以很快的学会这种工程管理方法 方法优点,只要有 ...
- mysql gis基本使用
# 插入空间数据 INSERT INTO `t_pot` VALUES ('1', '北京', POINT(116.401394,39.916042)); INSERT INTO `t_pot` VA ...
- How to intercept any postback in a page? - ASP.NET
How to intercept any postback in a page? - ASP.NET There's a couple of things you can do to intercep ...
- 在visual studio工程设置中增加宏定义的方法
在Solution Explorer中鼠标右键点击其project之后,Configuration(Release)->Configuration Propertity ->C++ -&g ...
- leetcode378 有序矩阵中第k小的元素
排序后取数组第k个元素,遍历需要n^2的复杂度,查找插入logn,时间复杂度O(n^2logn).方法很笨,完全就是STL过于牛x运行通过的. class Solution { public: int ...
- GitHub-Microsoft:DotNet4
ylbtech-GitHub-Microsoft:DotNet4 1.返回顶部 · dotnet-template-samples Samples showing how to create temp ...
- 如何在GitHub上下载一部分文件(单个文件夹)
Preface Github下的项目可能很大,里面有很多的子文件夹,我们可能只需要使用某个子目录下的资源,可以不用下载完整的repo就能使用. 例如,我想下载这个repo中的mnist_gan文件:h ...