Закладки позволяют сохранить положение в наборе данных, чтобы позднее можно было вернуться к этому же месту. В Delphi за это отвечает только одно свойство. Все, что нужно сделать – это объявить переменную типа TBookmarkStr и присвоить ей положение, которое мы хотим запомнить:
var
bm : TBookmarkStr;
begin
bm := Table1.Bookmark;
А когда нужно вернуться на закладку, делаем обратное присваивание:
Table1.Bookmark := bm;
Чтобы освободить закладку, нужно ей просто-напросто присвоить пустую строку:
bm := '';
Как видите, закладка реализуется переменной типа TBookmarkStr, а в компоненте Table имеется свойство Bookmark такого же типа.
Теперь вернемся к нашему проекту и напишем код для наших кнопок, отвечающих за закладки. Прежде всего, переменной – закладкой мы должны будем пользоваться из трех процедур – по количеству кнопок управления закладкой. Следовательно, переменная должна быть глобальной. Опишем ее в разделе глобальных переменных:
var
fMain: TfMain;
bm : TBookmarkStr;
Далее, кнопка "Установить" у нас доступна, остальные кнопки не доступны. Почему? Потому, что мы не можем перейти на закладку, или удалить ее, пока мы эту закладку не установили. Как только мы установим закладку, то наоборот, кнопки "На закладку" и "Удалить" у нас должны стать активными. А вот "Установить" - нет, потому что ее сначала нужно освободить, удалить. Имеем это в виду, и пишем код для кнопки "Установить":