利用书签功能对TDBGrid控件中多个记录的处理

原创 2002年10月23日 09:34:00

      DELPHI 的TDBGrid 控 件 主 要 用 来 处 理 数 据 表, 它 的 属 性 中 有
一 个dgMultiSelect, 若 此 属 性 设 定 为TRUE, 则 可 以 选 中 多 个 记 录
( 可 用CTRL + 鼠 标 左 键 选 择 多 个 记 录)。 对 选 中 的 多 个 记 录
可 以 有 以 下 几 种 处 理 方 式, 比 较 简 单 的 两 种 是: 清 除 所 有
的 选 择 记 录 可 用DBGrid1.SelectedRows.Clear 语 句; 删 除 所 有 的 选
择 记 录 可 用DBGrid1.SelectedRows.Delete 语 句。 但 如 果 想 获 得 选 中
的 所 有 记 录 的 其 他 信 息, 比 如, 在 单 独 的 一 个 窗 体 中 显 示
用 户 选 择 的 记 录 的 第 一 个 字 段 的 内 容( 如 所 有 选 择 的 姓 名)
如 何 处 理 呢 ? 这 就 要 使 用 书 签 功 能 了, 下 面 是 笔 者 编 写 的
一 个 程 序 中 的 过 程, 用 来 将 用 户 选 择 的 多 个 记 录 集 中 显 示
在 另 外 一 个 窗 体 中( 笔 者 使 用 的 是DELPHI4), 供 参 考 使 用。


procedure GetSelectedRecord
(DataSet : TDataSet; FieldName : String;
BookmarkList : TBookmarkList; Strings : TStrings);
file://这个过程中的参数分别为:数据表、字段名称、
书签、用来保存所选字段内容的
file://字符串(用于将内容传递到另
一个单独窗体中的TLIST控件中)
var
I: Integer;
bm : TBookMark;
begin
Strings.Clear;
with Dataset do begin
DisableControls;
bm := GetBookMark;
try
file://每个选择的记录都有一个书签标志,
这就为处理它们提供了条件
for I := 0 to BookmarkList.Count - 1 do begin
Bookmark := BookmarkList[I];
Strings.Add(DataSet.FindField(fieldname).AsString);
end;
finally
GotoBookMark(bm);
FreeBookMark(bm);
EnableControls;
end;
end;
end;

调用举例:
GetSelectedRecord(Table1, 'NAME', DBGrid1.SelectedRows,
Form2.ListBox1.Items

TDBGrid控件中对多个记录的处理

TDBGrid控件中对多个记录的处理DELPHI的TDBGrid控件主要用来处理数据表,它的属性中有一个dgMultiSelect,若此属性设定为TRUE,则 可以选中多个记录(可用CTRL+鼠标左键...
  • Jason009
  • Jason009
  • 2006年09月20日 22:07
  • 749

TDBGrid控件中对多个记录的处理 小技巧

TDBGrid控件中对多个记录的处理  DELPHI的TDBGrid控件主要用来处理数据表,它的属性中有一个dgMultiSelect,若此属性设定为TRUE,则 可以选中多个记录(可用CTRL+鼠标...
  • delphicui
  • delphicui
  • 2008年10月15日 15:08
  • 319

Delphi开发学习三:TdataSource 控件与 TDBGrid 控件使用实例

TdataSource 控件与 TDBGrid 控件在数据库开发中经常是成对出现的。作为数据库感应控件,TDBGrid控件主要作用是通过TdataSource控件连接数据集(如TADOQUery)以各...
  • u011846249
  • u011846249
  • 2015年08月18日 22:46
  • 2172

谈谈4.4中的新增功能对安全类软件的影响

Nexus 5到手,把玩了一下,做个了简单的体验,希望对各位android的开发有所帮助。   一、       短信功能变化 原来的方法依然可以感知来短信广播和数据库变化,但对无法再通过abor...
  • L173864930
  • L173864930
  • 2013年11月29日 09:47
  • 6751

[ZZ]测试用例的设计方法

原文链接:http://blog.csdn.net/winterwinner/archive/2010/05/12/5583619.aspx等价类划分方法:     一.方法简介1.定义  是把所有可...
  • leonsc
  • leonsc
  • 2011年05月02日 18:47
  • 894

ServeltAndJsp学习笔记--1

HTML就是超文本标记语言,HTML告诉浏览器怎样把内容呈现给用户。 Web上客户和服务器之间的大多数会话是使用http协议完成的。HTTP页面里的注释为. Http是Tcp/Ip的上层协议。Ht...
  • ManfredShuai
  • ManfredShuai
  • 2017年10月16日 18:26
  • 42

C++Builder中有关TDBGrid的几个技巧

摘  要:本文给TDBGrid增加了dgThumbTracking、及dgMouseWheel两个选项,用来支持滚动条的跟踪和鼠标滚轮。以及有关DBGrid行列颜色的一个技巧。关键词:C++Build...
  • yaneng
  • yaneng
  • 2009年09月24日 10:05
  • 3991

delphi实现TDBGrid选中行单元格按钮的显示

1.增加按钮,并隐藏; 2.监听TDBGrid的DrawColumnCell事件,在事件处理中   if gdSelected  in state then   begin    if (Co...
  • zb872676223
  • zb872676223
  • 2015年10月16日 18:06
  • 894

thinking in java test2.11练习(9)之java装箱拆箱

题目:编写一个程序,展示自动包装功能对所有的基本类型和包装类型都起作用。基本类型指九大基本数据类型boolean,char,byte,short,int,long,float,double,void ...
  • qq_35396447
  • qq_35396447
  • 2016年07月27日 09:23
  • 345

TDBGrid增加鼠标滚动事件

在窗口上添加ApplicationEvents控件,在OnMessage事件中,作如下处理: void __fastcall TFrame4::ApplicationEvents1Message(t...
  • chinayu2007
  • chinayu2007
  • 2015年07月17日 09:51
  • 398
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用书签功能对TDBGrid控件中多个记录的处理
举报原因:
原因补充:

(最多只允许输入30个字)