AdvStringGrid使用小结

本文结合实际工作经验,详细介绍了使用AdvStringGrid控件时的常见操作,包括设置固定列数、读取和导入值、手动调整列宽与行宽、文字换行与垂直居中、自动调整列宽、添加并判断CheckBox状态、颜色调整、单元格合并、清空表格、内容居中显示等关键功能。通过实例代码展示了各个功能的应用,帮助开发者更高效地利用AdvStringGrid进行数据展示。
摘要由CSDN通过智能技术生成

结合最近自己做的一些工作,用到了第三方控件AdvStringGrid,这里就常用的一些技巧做个小小的总结
(1)如何设置表格固定的列数,如下图所示:
AdvStringGrid使用小结
这里固定的列数为3列,通过设置下面属性来改变固定的列数:
AdvStringGrid.FixedCols:=n;(n为要固定的列数值)
(2)如何从AdvStringGrid中读取和向AdvStringGrid中导入值:
AdvStringGrid.Cells[j,i]:=str;(向其单元格赋值)这里需要注意的是,j为列数,i为行数。
(3)如何在运行界面中手动调整列宽与行宽,效果图如下所示:
AdvStringGrid使用小结
这只如下属性即可以在运行界面中手动的调整行宽与列宽:
Options -> goColsizing:=true 列宽
Options -> goRowsizing:=true 行宽
(4)如何使文字换行,并垂直居中,效果图如下:
AdvStringGrid使用小结
把goRowsizing设置为true后,将WordWrap也设置为true;
(5)如何使列宽根据单元格内容与列标题内容自动调整列宽
AdvStringGrid2.AutoSizeColumns(true,4);4代表前后留出的字节数。
(6)如何下AdvStringGrid中添加CheckBox,并判断其是否被选中的状态,效果图如下:
AdvStringGrid使用小结
在窗体创建单元添加如下代码:
for i:=1 to AdvStringGrid3.rowcount-1 do
begin
AdvStringGrid3.AddCheckBox(2,i,false,false);
end;
那么如何判断其是否被选取,并读取其中的值,参考代码如下:
var
flag:boolean;
for j:=1 to m do (m为表格的行数)
begin
AdvStringGrid3.GetCheckBoxState(2,j,flag);
if flag then
begin
…………
end;
(7)如何调整单元格总字体的颜色,比如对于一些异常数据希望显示为红色,效果图如下:
AdvStringGrid使用小结
编辑代码如下:
AdvStringGrid2.FontColors[21,j]:=clred;
(8)如何合并单元格:
这里我所采用的方法是,把所有数据采集完了以后再合并单元格,合并后的效果图如下:
AdvStringGrid使用小结
合并的具体思路是这样的,先定义一个数组类型,把每列中值不一样的初始位置记录下来,然后再进行合并,参考代码如下:
i:=0;
setlength(ipos,100);
for j:=1 to m do
begin
if AdvStringGrid2.Cells[0,j]<>AdvStringGrid2.Cells[0,j+1] then
begin
ipos[i]:=j;
i:=i+1;
end;
end;
AdvStringGrid2.MergeCells(0,1,1,ipos[0]);
AdvStringGrid2.MergeCells(23,1,1,ipos[0]);
AdvStringGrid2.MergeCells(24,1,1,ipos[0]);
if i>1 then
begin
for j:=0 to i-2 do
begin
AdvStringGrid2.MergeCells(0,ipos[j]+1,1,ipos[j+1]-ipos[j]);
AdvStringGrid2.MergeCells(23,ipos[j]+1,1,ipos[j+1]-ipos[j]);
AdvStringGrid2.MergeCells(24,ipos[j]+1,1,ipos[j+1]-ipos[j]);
end;
end;
(9)如何清空表格
使用Clear过程
AdvStringGrid2.Clear;
(10)如何使单元格的所有内容居中显示
AdvStringGrid2.VAlignment:=vtacenter;
for j:=0 to m do//TabSheet2所有单元格显示居中
begin
for i:=0 to AdvStringGrid2.ColCount-1 do
begin
AdvStringGrid2.Alignments[i,j]:=TaCenter;
end;
end;
希望大家多多交流………………

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值