AdvStringGrid使用小结
结合最近自己做的一些工作,用到了第三方控件AdvStringGrid,这里就常用的一些技巧做个小小的总结
(1)如何设置表格固定的列数,如下图所示:

这里固定的列数为3列,通过设置下面属性来改变固定的列数:
AdvStringGrid.FixedCols:=n;(n为要固定的列数值)
(2)如何从AdvStringGrid中读取和向AdvStringGrid中导入值:
AdvStringGrid.Cells[j,i]:=str;(向其单元格赋值)这里需要注意的是,j为列数,i为行数。
(3)如何在运行界面中手动调整列宽与行宽,效果图如下所示:

这只如下属性即可以在运行界面中手动的调整行宽与列宽:
Options -> goColsizing:=true 列宽
Options -> goRowsizing:=true 行宽
(4)如何使文字换行,并垂直居中,效果图如下:

把goRowsizing设置为true后,将WordWrap也设置为true;
(5)如何使列宽根据单元格内容与列标题内容自动调整列宽
AdvStringGrid2.AutoSizeColumns(true,4);4代表前后留出的字节数。
(6)如何下AdvStringGrid中添加CheckBox,并判断其是否被选中的状态,效果图如下:

在窗体创建单元添加如下代码:
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)如何调整单元格总字体的颜色,比如对于一些异常数据希望显示为红色,效果图如下:

编辑代码如下:
AdvStringGrid2.FontColors[21,j]:=clred;
(8)如何合并单元格:
这里我所采用的方法是,把所有数据采集完了以后再合并单元格,合并后的效果图如下:

合并的具体思路是这样的,先定义一个数组类型,把每列中值不一样的初始位置记录下来,然后再进行合并,参考代码如下:
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;
AdvStringGrid使用小结的更多相关文章
- 从零开始编写自己的C#框架(26)——小结
一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...
- Python自然语言处理工具小结
Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...
- java单向加密算法小结(2)--MD5哈希算法
上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...
- iOS--->微信支付小结
iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...
- iOS 之UITextFiled/UITextView小结
一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...
- K近邻法(KNN)原理小结
K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...
- scikit-learn随机森林调参小结
在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...
- Bagging与随机森林算法原理小结
在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...
- scikit-learn 梯度提升树(GBDT)调参小结
在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...
随机推荐
- Python对象引用和del删除引用
1.首先介绍下python的对象引用 1)Python中不存在传值调用,一切传递的都是对象引用,也可以认为是传址调用.即Python不允许程序员选择采用传值或传引用.Python参数传递采用的是“传对 ...
- PHP操作sqlserver乱码解决
将捕获的参数编码转换为GB2312即可 function ($string){ returen iconv("UFT-8","GB2312//IGNORE",$ ...
- lambda modern C++
Lambda expressions (since C++11) Syntax [ captures ] <tparams>(optional)(c++20) ( params ) s ...
- 【es6】正则扩展
- 几个用Python实现的简单算法
一.算法题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...
- 数据库~Mysql派生表注意的几点~关于百万数据的慢查询问题
基础概念 派生表是从SELECT语句返回的虚拟表.派生表类似于临时表,但是在SELECT语句中使用派生表比临时表简单得多,因为它不需要创建临时表的步骤. 术语:*派生表*和子查询通常可互换使用.当SE ...
- vue引入bootstrap和fontawesome
npm install jquery npm install bootstrap npm install popper.js. import $ from 'jquery' import 'boots ...
- No result defined for action and result input
今天在编程的时候,我遇到了No result defined for action and result input的错误,这个错误想必大家都有遇到过吧,我今天发了很长时间弄这个错误,我以为我的Act ...
- PTA (Advanced Level) 1010 Radix
Radix Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? ...
- 端口扫描工具nmap
nmap 使用介绍 nmap是目前为止最广为使用的国外端口扫描工具之一.我们可以从[url]http://www.insecure.org/[/url]进行下载,可以很容易的安装到Windows和un ...