dbgrid里面的记录循环

ADWARDS00 2003-12-26 08:40:07
一个dbgrid是允许复选的,然后要根据DBGRID里面的记录进行循环,如果被选种就执行一段操作,请问这个循环该如何写?DBGRID的数据来源是一个query控件
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
madyak 2003-12-26
  • 打赏
  • 举报
回复
这是D5自带帮助:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin

if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;
madyak 2003-12-26
  • 打赏
  • 举报
回复
for i := 0 to DBGrid.SelectedRows.Count - 1 do
begin
Query.GotoBookmark(pointer(DBGrid.SelectedRows.Items[i]));
....
end;
ADWARDS00 2003-12-26
  • 打赏
  • 举报
回复
谢谢,不过我想你理解错我的意思了,DBGRID是可以复选,我是要取得在DBGRID中被选种的那些记录在数据库里面的相应记录,比如
if dbgrid1.row[i].select then //假设有这样的属性,其实没有:(
begin
//我的操作
end;
query1.next;
dbgrid1.next; //假设有这样的属性
noproblem12 2003-12-26
  • 打赏
  • 举报
回复
with query1 do
begin
first;
for i:=0 to recordcount-1 do
begin
if fieldvalue('abc')='xxx' then //进行判断
begin
..... //执行你的操作
end;
next;
end;
end;
flymoon 2003-12-26
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin

if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧