Bonjour,
quel est le meilleur évènement pour tester si l'utilisateur a saisie des valeur correcte ?

Faut il le faire un dbgrid ,ClientDataset ou fournisseur ?

J'ai essaye ceci sur l' élèvement BeforePost de mon ClientDataSet

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
void __fastcall TDataModule1::CDSPersBeforePost(TDataSet *DataSet)
{
 
   if(DataSet->FieldByName("NOM")->IsNull){
 
   MessageDlg("Nom vide", mtWarning, TMsgDlgButtons() << mbOK, 0);
 
   DataSet->FieldByName("NOM")->FocusControl();
   DataSet->Cancel();
 
   }
 
}
Si j'appelle le méthode cancel() j'annule le post() cependant j'efface tout
dans le DBGRid .

Comment faire pour récupérer les données déjà saisie et le réaffecter au DbGrid ?

Existe -il une autre méthode pour annuler en cas d'erreur ?

merci