компонент tdbnavigator

Строго кажучи, компонент TDBNavigator (навігатор БД) не призначений для відображення даних. Його призначення - дати користувачеві програми зручний засіб пересування записів НД і полегшити йому такі дії, як вставка нового запису, а також редагування і видалення існуючої записи. Однак навігатор БД використовується тільки спільно з компонентами візуалізації, тому мені здається цілком доречним розглянути його особливості саме в цьому уроці.

На рис. 6.11 показані кнопки навігатора.

компонент tdbnavigator

Мал. 6.11. Кнопки навігатора БД

Про First - встановлює курсор на перший запис;

Про Prior - встановлює курсор на попередній запис;

Про Next - встановлює курсор на наступний запис;

Про Last - встановлює курсор на останній запис;

Про Insert - переводить НД в режим вставки нового запису;

Про Delete - видаляє поточний запис;

Про Edit - переводить НД в режим редагування;

Про Post - запам'ятовує зміни, зроблені в поточному записі;

Про Cancel - скасовує зміни, зроблені в поточному записі;

Про Refresh - оновлює НД (для TQuery - тільки якщо запит оновлюваний).

За допомогою властивості DataSource компонент зв'язується з потрібним джерелом даних TDataSourсе - це все, що необхідно для його нормальної роботи. Представлене нижче властивість управляє відображенням діалогового вікна з проханням підтвердити видалення запису (значення True цієї властивості виводить вікно):

property ConfirmDelete: Boolean;

Якщо таке властивість має значення True, кнопки будуть плоскими, в іншому випадку - об'ємними:

property Flat: Boolean;

За допомогою іншого властивості можна відображати тільки ті кнопки навігатора, які дійсно необхідні:

type TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast,

nblnsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh);

type TButtonSet = set of TNavigateBtn;

property VisibleButtons: TButtonSet;

Наприклад, якщо НД є результатом виконання неоновлювані запиту, в навігаторі має сенс залишити тільки перші 4 кнопки.

За допомогою наступного методу можна імітувати клацання на потрібній кнопці навігатора:

procedure BtnClick (Index: TNavigateBtn); Для компонента визначено два специфічних події:

type ENavClick = procedure (Sender: TObject;

Button: TNavigateBtn) of object; property BeforeAction: ENavClick; property OnClick: ENavClick;

Оброблювач першої події отримує управління перед виконанням дії, пов'язаного з клацанням на кнопці Button, в той час як обробник OnClick - після виконання дії.

Схожі статті