DBGrid相关技术整理;

注:对于DBGrid相关属性、方法的学习融入到技术整理过程中

一,多选

设置属性:

  Options->dgMultiSelect = True;

->dgRowSelect   = True;

应用属性:

  SelectedRows;

操作方法:

-Ctrl + Mouse Clicks

-Shift + Arrow Keys

For example:

1,取得所选行某个字段的值的合计:

procedure TForm1.btnDoSumClick(Sender: TObject);

var

i: Integer;

sum: Single;

begin

if DBGrid1.SelectedRows.Count > 0 then

begin

sum := 0;

with DBGrid1.DataSource.DataSet do

begin

for i := 0 to DBGrid1.SelectedRows.Count - 1 do

begin

GotoBookmard(Pointer(DBGrid1.SelectedRows.Items[i]));

sum := sum + AdoQuery1.FieldByName('Size').asfloat;

end;

end;

edtSizeSum.Text := FloattoStr(sum);

end;

end;

//用edtSizeSum来接收计算来的合计值

2,全选DBGrid:

procedure DBGridSelectAll(AGrid: TDBGrid) ;

begin

AGrid.SelectedRows.Clear;

with AGrid.DataSource.DataSet do

begin

DisableControls;

First;

try

while not EOF do

begin

AGrid.SelectedRows.CurrentRowSelected := True;

Next;

end;

finally

EnableControls;

end;

end;

end;

深入了解:

1,SelectedRows:

The TDBGrid component keeps all the selections as Bookmarks in a TStringList,

and all the Bookmarks must be converted to a Pointer (what they really are) before using it.

&

The SelectedRows property is an object of type TBookmarkList.

We can use the SelectedRows property to, for example:

--get the number of rows selected,

--clear the selection(unselect),

--delete all the selected records,

--check whether a particular record is selected.

2,运行时设置DBGrid的多选属性

DBGrid1.Options := DBGrid1.Options + [dgMultiSelect];

//以上部分内容取自http://delphi.about.com/od/usedbvcl/l/aa032503a.htm

二,加入其它控件
http://delphi.about.com/od/usedbvcl/l/aa082003a.htm
http://delphi.about.com/od/usedbvcl/l/aa082003a.htm
三,颜色设置
http://delphi.about.com/od/usedbvcl/l/aa031699.htm

DBGrid相关技术整理的更多相关文章

  1. 初识-Android之智能短信项目相关技术整理

    标签页切换采用传统的TabHost: 采用TabActivty实现TabHost. 效果图-后补: 相关技术详解推荐: http://blog.csdn.net/zhouli_05/article/d ...

  2. ASP.NET相关技术整理

  3. 转:基于IOS上MDM技术相关资料整理及汇总

    一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...

  4. 基于IOS上MDM技术相关资料整理及汇总

    (转自:http://www.mbaike.net/special/1542.html) 一.MDM相关知识:MDM (Mobile Device Management ),即移动设备管理.在21世纪 ...

  5. C#进程间通讯技术-整理。

    原文:C#进程间通讯技术-整理. 扩展阅读:http://www.cnblogs.com/joye-shen/archive/2012/06/16/2551864.html 一.进程间通讯的方式 1) ...

  6. j2e应用相关技术

    j2e应用相关技术 轻量级j2e应用以传统的jsp作为变现层技术,以一系列开源框架作为MVC层,中间件,持久层解决方案,并将这些开源框架有机组合在一起,使得j2e具有高度的可扩展性,可维护性. ser ...

  7. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

  8. 关于Web开发里并发、同步、异步以及事件驱动编程的相关技术

    一.开篇语 我的上篇文章<关于如何提供Web服务端并发效率的异步编程技术>又成为了博客园里“编辑推荐”的文章,这是对我写博客很大的鼓励,也许是被推荐的原因很多童鞋在这篇文章里发表了评论,有 ...

  9. 【原】http缓存与cdn相关技术

    摘要:最近要做这个主题的组内分享,所以准备了一个星期,查了比较多的资料.准备的过程虽然很烦很耗时间,不过因为需要查很多的资料,因此整个过程下来,对这方面的知识影响更加深刻.来来来,接下来总结总结 一 ...

随机推荐

  1. JZ2440开发板:用按键点亮LED灯(学习笔记)

    本文是对韦东山嵌入式第一期学习的记录之一,如有您需要查找的信息,可以继续往下阅读. 想要用按键点亮LED灯,就需要知道按键和LED灯的相关信息,这样才可以进行之后的操作.阅读JZ2440的原理图,可以 ...

  2. 优步UBER司机高峰小时保底奖励

    高峰小时保底奖励 (此奖励仅针对6月1日及以后激活的优步车主): ​ 得到“高峰小时保底”的前提为: 1. 在规定高峰时间段内(不得跨段计算),任意一小时内至少完成一单: 2. 在规定高峰时间段内,任 ...

  3. ASCII、Unicode、UTF-8编码关系

    由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122.但是要 ...

  4. 刚安装的Linux Centos7使用yum安装firefox时提示:cannot find a valid baseurl for repo

    出现这个问题是因为yum在安装包的过程中,虽然已经联网,但是没法解析远程包管理库对应的域名,所以我们只需要在网络配置中添加上DNS对应的ip地址即可. 解决参考链接:https://blog.csdn ...

  5. MySQL☞abs函数

    abs( )函数:求出绝对值 格式: select  abs(数值)  from 表名 如下图:

  6. word record 2

    word record 2 scavenger // si ga wen ger a person, animal or insect who takes what others have left ...

  7. lesson 14 A noble gangster

    lesson 14 A noble gangster there was a ++time++ 时期 times 时期/年代 in times of peace a sum of + money 一笔 ...

  8. <cerrno>

    文件头名称: <cerrno>(errno.h) 文件头描述: 文件内定义了如下的宏  errno 最后一个错误代码 加上其他至少的三个宏常量:EDOM,ERANGE 和EILSEQ 宏定 ...

  9. adb 在windows7中的使用

    我的系统环境是win7 x64 首先放上资源链接:https://pan.baidu.com/s/1eTV5qX8 密码:2ejw 第一步: 配置环境变量,将adb.exe的路径添加到PATH里面去: ...

  10. 【shell 练习2】产生随机数的方法总结

    一.产生随机数 ()RANDOM 产生随机数 [root@localhost ~]# echo $RANDOM [root@localhost ~]# )) #想要生成八个随机数,随便加一个八位的数字 ...