Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Внести изменения в набор данных и не потерять текушей позиции

Delphi , Базы данных , Закладки

Внести изменения в набор данных и не потерять текушей позиции


procedure TMyForm.MakeChanges;
var
  aBookmark: TBookmark;
begin
  Table1.DisableControls;
  aBookmark := Table.GetBookmark;
  try
    {ваш код}
  finally
    Table1.GotoBookmark(aBookmark);
    Table1.FreeBookmark(aBookmark);
    Table1.EnableControls;
  end;
end;

Модифицировать данные в таблице базы данных, сохраняя текущее положение, без потери неиспользованных изменений.

В процедуре TMyForm.MakeChanges мы отключаем управляющие элементы таблицы, получаем ее маркер (текущее положение), делаем изменения и затем восстанавливаем исходное положение после блока try-finally.

Ключ здесь в использовании маркера для восстановления exact положения, где мы были до изменения данных. Мы сохраняем маркер перед изменением данных и восстанавливаем его в блоке finally.

Вот пример, как можно модифицировать эту процедуру:

procedure TMyForm.MakeChanges;
var
  aBookmark: TBookmark;
begin
  Table1.DisableControls;
  aBookmark := Table1.GetBookmark;
  try
    // Ваши изменения здесь
    Table1.FieldByName('YourField').AsInteger := 5; 
  finally
    Table1.GotoBookmark(aBookmark);
    Table1.FreeBookmark(aBookmark);
    Table1.EnableControls;
  end;
end;

В примере выше мы модифицируем поле 'YourField' для присвоения целочисленного значения 5. Вы должны заменить это на ваш код изменения.

Если вы хотите получить более конкретные сведения о том, какие изменения вы делаете, пожалуйста, предоставьте больше деталей или контекст к вашему вопросу.

В статье описывается процедура TMyForm.MakeChanges, которая позволяет вносить изменения в набор данных в Таблице Table1, сохраняя текущую позицию и после выполнения операций возвращаясь к ней.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Закладки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-17 07:20:50/0.0056769847869873/0