Метод DisableControls применяется для того, чтобы DBGrid не обновлялся во время изменения набора данных. Последняя позиция набора данных сохраняется как Bookmark.
Метод IndexOf вызывается для проверки существования вкладки. Решение о выборе метода IndexOf (или Refresh) должно определяться спецификой приложения.
procedure TForm1.SelectClick(Sender: TObject);
var
x: word;
TempBookmark: TBookMark;
begin
DBGrid1.DataSource.DataSet.DisableControls;
with DBGrid1.SelectedRows do
if Count <> 0 then begin
TempBookmark := DBGrid1.DataSource.DataSet.GetBookmark;
for x := 0 to Count - 1 do begin
if IndexOf(Items[x]) > -1 then begin
DBGrid1.DataSource.DataSet.Bookmark := Items[x];
ShowMessage(DBGrid1.DataSource.DataSet.Fields[1].AsString);
end;
end;
end;
DBGrid1.DataSource.DataSet.GotoBookmark(TempBookmark);
DBGrid1.DataSource.DataSet.FreeBookmark(TempBookmark);
DBGrid1.DataSource.DataSet.EnableControls;
end;
[News Group]