Utilisation d'un navigateur pour plusieurs ensembles de données
Remonter à Navigation et manipulation d'enregistrements
Comme pour les autres contrôles orientés données, la propriété DataSource d'un navigateur spécifie la source de données qui lie le contrôle à un ensemble de données. En changeant la propriété DataSource d'un navigateur lors de l'exécution, vous pouvez faire en sorte qu'un même navigateur procure des fonctions de navigation pour plusieurs ensembles de données.
Supposons qu'une fiche contienne deux contrôles DBEdit liés aux ensembles de données CustomerTable et OrdersTable via respectivement les sources de données CustomersSource et OrdersSource. Lorsqu'un utilisateur accède au contrôle d'édition connecté à CustomersSource, le navigateur doit également utiliser CustomersSource ; et quand l'utilisateur accède au contrôle d'édition connecté à OrdersSource, le navigateur doit basculer à OrdersSource. Vous pouvez coder un gestionnaire d'événement Controls.OnEnter pour l'un des contrôles d'édition, puis le partager avec l'autre contrôle d'édition. Par exemple :
procedure TForm1.CustomerCompanyEnter(Sender :TObject);
begin
if Sender = CustomerCompany then
DBNavigatorAll.DataSource := CustomerCompany.DataSource
else
DBNavigatorAll.DataSource := OrderNum.DataSource;
end;