• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

delphi 搞代码 7年前 (2018-08-09) 157次浏览 已收录 0个评论

唐成斌

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

procedure GetSelectedRecord  
(DataSet : TDataSet; FieldName : String;  
BookmarkList : TBookmarkList; Strings : TStrings);  
//这个过程中的参数分别为:数据表、字段名称、书签、用来保存所选字段内容的  
//字符串(用于将内容传递到另一个单独窗体中的TLIST控件中)  
var  

http://www.gaodaima.com/65720.htmlTDBGrid控件中对多个记录的处理_Delphi

I: Integer;  
bm : TBookMark;  
begin  
Strings.Clear;  
with Dataset do begin  
DisableControls;  
bm := GetBookMark;  
try  
//每个选择的记录都有一个书签标志,这就为处理它们提供了条件  
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控件中对多个记录的处理_Delphi,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:TDBGrid控件中对多个记录的处理_Delphi
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址