with DataGrid1.DataSource.DataSet do
for i := 0 to DataGrid1.SelectedCount - 1 do
begin
[B]Bookmark := DataGrid1.SelectedRows;[/B]
numstr:=FieldByName('ResRegNum').AsString;
end;
with DataGrid1.DataSource.DataSet do
for i := 0 to DataGrid1.SelectedCount - 1 do
begin
Bookmark := DataGrid1.SelectedRows;
numstr:=FieldByName('ResRegNum').AsString;
end;
在这个循环之前,提前把Bookmark 记录下来(比如用TStrings),然后再在这个循环里用。
procedure TMAINFORM.Button1Click(Sender: TObject);
var
i,j : Integer;
Bookmark,s : String;
begin
Memo1.Clear;
if DataGrid1.SelectedCount > 0 then
begin
DataGrid1.OptionsDB := DataGrid1.OptionsDB - [TDataGridOptionDB.edgoLoadAllRecords];
for i := 0 to DataGrid1.SelectedCount -1 do
begin
DataSetBroker1.DataSet.Bookmark := DataGrid1.SelectedRows;
for j := 0 to 0 do
begin
if (j > 0) then
s := s + ', ';
s := s + DataSetBroker1.DataSet.Fields[j].AsString;
end;
Memo1.Lines.Add(s);
s := '';
end;
DataGrid1.OptionsDB := DataGrid1.OptionsDB + [TDataGridOptionDB.edgoLoadAllRecords];
end;
end;