结合最近自己做的一些工作,用到了第三方控件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使用小结的更多相关文章

  1. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  2. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  3. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  4. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

  5. iOS 之UITextFiled/UITextView小结

    一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...

  6. K近邻法(KNN)原理小结

    K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...

  7. scikit-learn随机森林调参小结

    在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...

  8. Bagging与随机森林算法原理小结

    在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...

  9. scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

随机推荐

  1. maven 根据profile,resources,filters来区分部署环境

    项目过程中,在不同的阶段,分别需要部署开发环境,测试环境,线上环境.如果都用一套配置文件,很容易弄乱,所以维持多套配置文件很有必要. maven提供了一组属性以供开发人员灵活搭配,可以根据环境来打包, ...

  2. spring boot快速入门 3: controller的使用

    模版引擎的使用: 第一步:在POM文件添加配置 <!-- 模版引擎 --> <dependency> <groupId>org.springframework.bo ...

  3. Memcahe安装与配置

    1.先启动Memcahe服务 (1)通过Memcahe文件夹下的memcahe.exe程序启动 (2)将Memcahe加到Windows服务中去 为了方便使用,大多数情况下,是使用第二种方式,来启动M ...

  4. linux常用多线程下载工具

    1.axel 下载安装yum install axel 这个软件下载速度实时显示

  5. Git的介绍和使用

    Git是目前世界上最先进的分布式版本控制系统 Git的安装 1.在linux上安装 你可以先输入git,看看系统是不是已经自带了git 或者 sudo apt-get install git  就可以 ...

  6. shell脚本杀进程重启

    #!/bin/bash ID=`ps -ef | grep "abc" | grep -v "$0" | grep -v "grep" | ...

  7. Linux 命令学习之使用本地SecureCRT连接虚拟机上linux

    前提:保证你的虚拟机安装好了,本人使用的是 VMware. 首先在你的window上查看你的 ip地址 进入dos 窗口运行 ipconfig. 其次进入你的虚拟机,登录成功.运行 ifconfig ...

  8. MySQL在创建数据表的时候创建索引

    转载:http://www.baike369.com/content/?id=5478 MySQL在创建数据表的时候创建索引 在MySQL中创建表的时候,可以直接创建索引.基本的语法格式如下: CRE ...

  9. 05 JDK1.5 Lock锁

    一.synchronized的再次讨论 使用synchronized关键字来标记一个方法或者代码块,当某个线程调用该对象的synchronized方法或者访问synchronized代码块时, 这个线 ...

  10. 使用Java发送Http请求的内容

    公司要将自己的产品封装一个WebService平台,所以最近开始学习使用Java发送Http请求的内容.这一块之前用PHP的时候写的也比较多,从用最基本的Socket和使用第三方插件都用过. 学习了J ...