GESTION COMPOSANT DBGRID [Résolu]

adjena 41 Messages postés vendredi 7 mai 2004Date d'inscription 4 juin 2007 Dernière intervention - 25 août 2006 à 10:36 - Dernière réponse : retaks666 289 Messages postés jeudi 2 janvier 2003Date d'inscription 16 juillet 2007 Dernière intervention
- 24 oct. 2006 à 10:41
Bonjour,
Quelqu'n pourrait-il m'aider a gerer un composant dbgrid pour faire des controle sur les cellule et ne pas pouvoir sortir de la cellule tant que la donnée est erronée.
Exemple j'ai une cellule de type date la personne saisie une date erroné j'ai un super plantage delphi alors que je voudrais trappé le message et ne pas laisser sortir l'utilisateur de la cellule.
2 eme exemple je voudrais toujours à partir d'un DBGRID que l'utilisateur ne puisse faire une selection que dans une liste de valeur prédefinie mais autrement que par la propriété Picklist de la colonne du DBGRID car l'utilisateur a bien une liste de valeur mais il peut saisir autre chose.
Merci pour votre aide.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
retaks666 289 Messages postés jeudi 2 janvier 2003Date d'inscription 16 juillet 2007 Dernière intervention - 24 oct. 2006 à 10:41
3
Merci
Je connais pas trop les tables, mais apparement tu devrais pouvoir te débrouiller avec les évènements before/after edit/insert , je sais pas trop quand ils se déclenchent par contre mais en cherchant un peu dans les évènments de ta table ou de ton datasource tu devrais trouver je penses.

Merci retaks666 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de retaks666
retaks666 289 Messages postés jeudi 2 janvier 2003Date d'inscription 16 juillet 2007 Dernière intervention - 13 oct. 2006 à 12:33
0
Merci
Tu peux essayer de controler la valeur saisie lors des évènements OndataUpdate et OnDataChange du datasource associé a ton DBGrid je penses.
Pour ta deuxième question, pourquoi ne pas utiliser un combobox que tu afficherai ou créérai par dessus la cellule lorsque que tu en a besoin ?
Commenter la réponse de retaks666
adjena 41 Messages postés vendredi 7 mai 2004Date d'inscription 4 juin 2007 Dernière intervention - 13 oct. 2006 à 15:02
0
Merci
Merci pour cette réponse mais pourrais-tu me donner plus de précision concernant le code à écrire car j'ai fais le test avec :

procedure TFrmPrinc.DtSrcAc_GdtDataChange(Sender: TObject; Field: TField);
begin
 showmessage('different');
 if ((dtmdl.tblac_gdtTRAITE.Value<>'O') and (dtmdl.tblac_gdtTRAITE.Value<>'N')
 and (dtmdl.tblac_gdtTRAITE.Value<>'S')) THEN
  dtmdl.tblac_gdtTRAITE.Value:='N';
end;

et çà plante ...

Cordialement
Commenter la réponse de adjena
retaks666 289 Messages postés jeudi 2 janvier 2003Date d'inscription 16 juillet 2007 Dernière intervention - 23 oct. 2006 à 17:36
0
Merci
Peux-tu donner le message d'erreur, et indiquer à quoi corresponde les objets ;)
Commenter la réponse de retaks666
adjena 41 Messages postés vendredi 7 mai 2004Date d'inscription 4 juin 2007 Dernière intervention - 24 oct. 2006 à 09:03
0
Merci
Voici le message que j'ai :
Le projet xxxx a provoque une classe d'exception eDataBaseError avec le message 'tblac_gdt: l'ensembvle de donnee n'est pa en mode edition ou insertion'. Processus stoppé utilise pas a pas ou executer pour continuer.
Commenter la réponse de adjena
retaks666 289 Messages postés jeudi 2 janvier 2003Date d'inscription 16 juillet 2007 Dernière intervention - 24 oct. 2006 à 09:32
0
Merci
c'est quoi comme composant tblac_gdt ? Sinon, tu peux mettre une condition genre if dataset = dsinsert or dataset = dsedit ...
Commenter la réponse de retaks666
adjena 41 Messages postés vendredi 7 mai 2004Date d'inscription 4 juin 2007 Dernière intervention - 24 oct. 2006 à 09:49
0
Merci
C'est un composant table qui pointe sur un fichier dbf
Commenter la réponse de adjena

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.