Surveiller les modifications des salaires (tutoriel général IBX)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Tutoriel : Utilisation de InterBase Express pour accéder à une base de données

Ajoutez une boîte de dialogue pour surveiller les modifications des salaires des employés en utilisant le TDataModule créé dans Ajouter un module de données.

Voici l'aspect de la fiche après l'ajout des composants :

SalaryChangeAuditing.png


Créer la fiche

Ajoutez une autre fiche VCL au projet. Dans le Gestionnaire de projets, cliquez avec le bouton droit sur le nom du projet puis cliquez sur l'élément de menu Ajouter nouveau > Fiche depuis le menu contextuel.

Adaptez les propriétés de la nouvelle fiche :

  • Définissez Caption sur "Salary Change Auditing".
  • Définissez Name sur "FrmTriggerDemo".
  • Définissez la propriété Height de la fiche sur 340, et Width sur 390.
  • Définissez OldCreateOrder sur true.

Enregistrez la fiche :

  • Pour Delphi, enregistrez le fichier sous Frmtrigg.pas.

Pour utiliser le TDataModule dans cette fiche :

  • Pour Delphi, ajoutez la ligne suivante au début de la section implementation de Frmtrigg.pas :
uses DmCSDemo;

Ajouter des composants visuels

Vous n'avez pas besoin d'ajouter des composants de base de données, car vous utiliserez les composants de base de données du TDataModule "DmCSDemo".

  • Ajoutez trois composants TPanel, en les positionnant comme illustré dans la figure ci-dessous. Ces TPanels fournissent un cadre de travail pour le positionnement des composants visuels. Redimensionnez-les afin de remplir la fiche.

SalaryFrmPanels.png

  • Ajoutez un TDBNavigator dans "Panel1" pour naviguer parmi les enregistrements de la base de données. Définissez DataSource sur "DmEmployee.EmployeeSource" depuis le menu déroulant. Notez que cette source de données est fournie par le TDataModule. Sous la propriété VisibleButtons, cochez tous les boutons à l'exception de : nbInsert et nbDelete. Définissez ShowHint sur true, afin d'afficher les conseils des boutons d'outil du TDBNavigator.
  • Placez un TBitBtn sur le côté droit de "Panel1". Définissez les propriétés suivantes
    • Définissez Caption sur "Exit". Ainsi l'appui sur ALT+x est identique à un clic sur le bouton.
    • Définissez Kind sur "bkClose" depuis le menu déroulant. Ce paramétrage permet au bouton d'exécuter une commande pour fermer la boîte de dialogue quand vous cliquez sur le TBitBtn.
  • Placez un TDBGrid sur "Panel2". Redimensionnez-le pour remplir le TPanel. Définissez DataSource sur "DmEmployee.EmployeeSource" depuis le menu déroulant.
  • Placez un autre TDBGrid sur "Panel3". Redimensionnez-le pour remplir le TPanel. Définissez DataSource sur "DmEmployee.SalaryHistorySource" depuis le menu déroulant.

Ajouter un gestionnaire d'événement

Ajoutez un gestionnaire d'événement pour la fiche. Quand la fiche est sélectionnée, dans l'inspecteur d'objets sur l'onglet Evénements, double-cliquez sur l'événement OnShow. Utilisez le code suivant pour l'événement :

 procedure TFrmTriggerDemo.FormShow(Sender: TObject);
 begin
   DmEmployee.EmployeeTable.Open;
   DmEmployee.SalaryHistoryTable.Open;
 end;

Afficher la fiche de visualisation de la table

Modifiez la fiche principale créée dans Créer une fiche principale Ajoutez un bouton sur cette fiche pour afficher la fiche que vous venez de créer.

Delphi

Ajoutez une ligne supplémentaire à la clause uses au début de la section implementation de Frmmain.pas, afin que la fiche principale connaisse l'unité FrmTrigg que vous venez d'ajouter :

 uses
    FrmTrigg,   { The Trigger Demo }
    FrmViews;   { The View Demo }

Ajoutez un autre TButton à la fiche Frmmain, semblable au TButton qui a été ajouté dans Créer une fiche principale. Définissez TButton.Caption sur "Salary Change Trigger Demo". Définissez TButton.Name sur "BtnTrigg". Ajoutez ensuite un gestionnaire d'événement pour le nouveau bouton en double-cliquant sur ce TButton dans l'onglet Conception de Frmmain.pas. Utilisez le code suivant pour le gestionnaire d'événement :

 procedure TFrmLauncher.BtnTriggClick(Sender: TObject);
 begin
   FrmTriggerDemo.ShowModal;
 end;

Exécuter l'application

Construisez et exécutez l'application. La fiche principale s'affiche :

MainFrmAudit Salary.png


Cliquez sur le nouveau TButton "Salary Change Trigger Demo" pour afficher la nouvelle fiche :

Salary Change Auditing Frm.png


Sélectionnez un employé en haut du TDBGrid présentant les données de la table EMPLOYEE. Modifiez le salaire de l'employé, puis cliquez sur le bouton Post edit (en forme de coche) dans le TDBNavigator pour mettre à jour la base de données. Après cette opération, le TDBGrid inférieur, qui montre la table SALARY_HISTORY, devrait s'actualiser afin de montrer cette modification.

SalaryChangeAuditingPost.png


Cette table est actualisée, grâce à la présence d'un gestionnaire d'événement dans le TDataModule "DmCSDemo" : TDmEmployee.EmployeeTableAfterPost. Cet événement se déclenche après une publication sur le TIBDataSet "EmployeeTable" dans le TDataModule "DmCSDemo". TDmEmployee.EmployeeTableAfterPost actualise le TIBDataSet "SalaryHistoryTable" s'il est actif, ce qui entraîne l'actualisation observée.

Précédent

Ajouter un module de données

Suivant

Obtenir les affectations des projets aux employés avec une procédure stockée