Choix des boutons du navigateur à afficher

De RAD Studio
Aller à : navigation, rechercher

Remonter à Navigation et manipulation d'enregistrements


Lorsque vous placez un composant TDBNavigator sur une fiche, tous ses boutons sont visibles par défaut. Vous pouvez utiliser la propriété VisibleButtons pour les désactiver si vous ne comptez pas les utiliser sur une fiche. Par exemple, lorsque vous utilisez un ensemble de données unidirectionnel,seuls les boutons Premier, Suivant et Actualiser sont pertinents. Il peut être utile de désactiver les boutons Modifier, Insérer, Supprimer, Valider et Annuler sur une fiche servant à parcourir des enregistrements plutôt qu'à les éditer.

Affichage et dissimulation des boutons en mode conception

La propriété VisibleButtons de l'inspecteur d'objets est suivie du signe + pour indiquer que sa liste d'options peut être développée. Vous pouvez choisir d'afficher une valeur booléenne pour chacun des boutons du navigateur. Pour voir ces valeurs et les définir, cliquez sur le signe +. La liste des boutons pouvant être activés ou désactivés apparaît dans l'inspecteur d'objets en dessous de la propriété VisibleButtons. Le signe + devient un signe – (moins), sur lequel vous pouvez cliquer pour réduire la liste des propriétés.

La visibilité d'un bouton est indiquée par l'état Boolean de sa valeur. Si cette valeur est à True, le bouton apparaît dans le composant TDBNavigator. Si elle est à False, le bouton est supprimé du navigateur lors de la conception et de l'exécution.

Remarque :  Quand la valeur d'un bouton est à False, il est supprimé du composant TDBNavigator et tous les autres boutons s'agrandissent pour occuper toute la largeur du contrôle. Vous pouvez faire glisser les poignées de celui-ci pour redimensionner les boutons.

Affichage et dissimulation des boutons à l'exécution

Lors de l'exécution, vous avez la possibilité de masquer ou d'afficher les boutons du navigateur en réponse aux actions de l'utilisateur ou aux états de l'application. Supposons, par exemple, que vous fournissiez un seul navigateur pour consulter deux ensembles de données, l'un permettant aux utilisateurs d'éditer les enregistrements, l'autre étant en lecture seulement. Lorsque vous passez de l'un à l'autre, vous devez masquer les boutons Insérer, Supprimer, Modifier, Valider, Annuler et Actualiser pour le second ensemble de données et les afficher pour le premier.

Supposons que vous vouliez empêcher toute édition de OrdersTable en masquant les boutons Insérer, Supprimer, Modifier, Valider, Annuler et Actualiser du navigateur, mais que vous vouliez permettre en même temps l'édition de CustomersTable. La propriété VisibleButtons détermine quels boutons sont affichés dans le navigateur. Voici comment ajouter le code nécessaire au gestionnaire d'événement :

 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;


Voir aussi