Navigator-Schaltflächen ein- und ausblenden

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Navigation und Bearbeitung von Datensätzen


Wenn eine TDBNavigator-Komponente zum ersten Mal in einem Formular platziert wird, sind standardmäßig alle Schaltflächen sichtbar. Mit der Eigenschaft VisibleButtons können Sie einzelne Schaltflächen ein- und ausblenden. Beispielsweise wären bei Verwendung einer unidirektionalen Datenmenge nur Schaltflächen zum Aktualisieren der Anzeige sowie zum Vorwärts- und Zurückblättern sinnvoll. Beispielsweise wäre in einem Formular, das nicht für die Bearbeitung von Daten vorgesehen ist, das Ausblenden der Schaltflächen Bearbeiten, Einfügen, Löschen, Speichern und Verwerfen sinnvoll.

Navigator-Schaltflächen zur Entwurfszeit ein- und ausblenden

Im Objektinspektor wird neben der Eigenschaft VisibleButtons ein Pluszeichen (+) angezeigt. Es weist darauf hin, dass sich hinter dieser Eigenschaft für jede Schaltfläche des Navigators ein Boolescher Wert verbirgt. Um diese Werte anzuzeigen und zu setzen, klicken Sie auf das Pluszeichen. Die Liste der Schaltflächen, die ein- und ausgeblendet werden können, erscheint im Objektinspektor direkt unter der Eigenschaft VisibleButtons. Wenn die Liste geöffnet ist, wird neben VisibleButtons ein Minuszeichen (–) angezeigt, auf das Sie klicken können, um die Liste zu schließen.

Der Boolesche Wert zeigt an, ob die betreffende Schaltfläche ein- oder ausgeblendet ist. Bei True wird die Schaltfläche im TDBNavigator angezeigt. Bei False ist sie weder zur Entwurfs- noch zur Laufzeit sichtbar.

Hinweis: Wenn Sie einen Schaltflächenwert auf False setzen, wird die zugehörige Schaltfläche aus der TDBNavigator-Komponente entfernt. Die verbleibenden Schaltflächen nehmen an Breite zu, sodass weiterhin der gesamte Navigator ausgefüllt ist. Die Größe der Schaltflächen kann durch Ziehen der Griffe des Navigators mit der Maus geändert werden.

Navigator-Schaltflächen zur Laufzeit ein- und ausblenden

Zur Laufzeit können die Schaltflächen des Navigators als Reaktion auf Benutzereingaben oder in Abhängigkeit vom Status der Anwendung ein- und ausgeblendet werden. Angenommen, Sie haben einen Navigator für zwei verschiedene Datenmengen definiert. Eine dieser Datenmengen kann vom Benutzer bearbeitet werden, die andere nicht. Wenn der Benutzer in die schreibgeschützte Datenmenge wechselt, sollen die Schaltflächen Einfügen, Löschen, Bearbeiten, Speichern, Verwerfen und Aktualisieren des Navigators deaktiviert werden.

Angenommen, Sie möchten nicht nur die Datenquelle wechseln, sondern zugleich die Bearbeitung von OrdersTable verhindern (durch Ausblenden der Navigator-Schaltflächen Einfügen, Löschen, Bearbeiten, Speichern, Verwerfen und Aktualisieren) und die Bearbeitung von CustomersTable erlauben. Über die Eigenschaft VisibleButtons können Sie festlegen, welche Schaltflächen im Navigator angezeigt werden. Sie können die Ereignisbehandlungsroutine z.B. folgendermaßen schreiben:

 procedure TForm1.CustomerCompanyEnter(Sender :TObject);
 begin
   if Sender = CustomerCompany then
   begin
     DBNavigatorAll.DataSource := CustomerCompany.DataSource;
     DBNavigatorAll.VisibleButtons := [nbFirst,nbPrior,nbNext,nbLast];
   end
   else
   begin
     DBNavigatorAll.DataSource := OrderNum.DataSource;
     DBNavigatorAll.VisibleButtons := DBNavigatorAll.VisibleButtons + [nbInsert,
       nbDelete,nbEdit,nbPost,nbCancel,nbRefresh];
   end;
 end;

Siehe auch